63 lines
1.7 KiB
Markdown
63 lines
1.7 KiB
Markdown
# Contributing
|
|
|
|
## Getting Started
|
|
|
|
Sign up to the [Open Privacy Gogs instance](https://git.openprivacy.ca/)
|
|
|
|
Get the code
|
|
|
|
clone gogs@git.openprivacy.ca:cwtch.im/cwtch.git
|
|
|
|
Make a development branch to do your work
|
|
|
|
git checkout -b work-branch-name
|
|
|
|
If you are using Goland as an IDE, now would be a good time to enable automatic gofmt on save of files with the File Watches plugin [https://stackoverflow.com/questions/33774950/execute-gofmt-on-file-save-in-intellij](StackOverflow)
|
|
|
|
## Pull Requests
|
|
|
|
When you are done, rebase squash any multiple commits you have into one
|
|
|
|
git rebase -i master
|
|
|
|
Test the code and check it has not quality issues
|
|
|
|
./testing/tests.sh
|
|
./testing/quality.sh
|
|
|
|
Ideally run the integration tests (~5 minutes)
|
|
|
|
cd testing
|
|
go test
|
|
|
|
push your branch (-f for *force* in the case you've rebased and squashed)
|
|
|
|
git push origin work-branch-name -f
|
|
|
|
create a [pull request](https://git.openprivacy.ca/cwtch.im/cwtch/pulls)
|
|
|
|
If you have fixes, you can amend them to the current commit rather than a new one with
|
|
|
|
git commit --amend
|
|
git push -f
|
|
|
|
## Review Board
|
|
|
|
For very large and complicated Pull Requests we have created a Review Board instance to facilitate more in depth review and discussion at https://review.openprivacy.ca
|
|
|
|
First acquire the client, RBTools, on Ubuntu:
|
|
|
|
apt install rbtools
|
|
|
|
Then hookup your git repo to review board with:
|
|
|
|
rbt setup-repo
|
|
|
|
Using the repo `cwtch`
|
|
|
|
Finally you will be able to create commits with
|
|
|
|
rbt post --parent master
|
|
|
|
It possibly will need the arguments `--tracking-branch=cwtch/master --branch=YOUR-BRANCH -d` (-d for debug if you are having trouble)
|