|
|
# Branches
|
|
|
## Branches
|
|
|
|
|
|
* Always work on a branch
|
|
|
* Name your branch after the ticket you're working on, e.g. `55-key-manager-refactoring`
|
|
|
* Push your branch at least once a day so everyone knows what you're working on -- that will help us to avoid conflicts
|
|
|
* When your branch is ready to merge:
|
|
|
* Make sure **all** tests are passing
|
|
|
* Rebase your branch if necessary to fix any merge conflicts, e.g. `git rebase -i master`
|
|
|
* Use `git push -f` to overwrite the remote branch after rebasing
|
|
|
* [Open a merge request](https://code.briarproject.org/akwizgran/briar/merge_requests/new)
|
|
|
|
|
|
# Code review
|
|
|
#### When your branch is ready to merge:
|
|
|
|
|
|
* Make sure **all** tests are passing
|
|
|
* Check the [pre-review checklist](pre-review-checklist)
|
|
|
* Rebase your branch if necessary to fix any merge conflicts, e.g. `git rebase -i master`
|
|
|
* Use `git push -f` to overwrite the remote branch after rebasing
|
|
|
* [Open a merge request](https://code.briarproject.org/akwizgran/briar/merge_requests/new)
|
|
|
|
|
|
## Code review
|
|
|
|
|
|
* At least one other person must review your code before it's merged to master
|
|
|
* You should address all the reviewer's comments before merging
|
|
|
* If an issue needs to be fixed before merging, push the fix to your branch and let the reviewer know
|
|
|
* If an issue is better dealt with after merging, create a ticket and reply with the ticket number
|
|
|
* Once your branch has been merged you can delete the remote branch
|
|
|
* When reviewing a branch:
|
|
|
* Check out and run the code as well as reading it
|
|
|
* Make sure you understand what the code is doing and why
|
|
|
* Don't be afraid to ask questions
|
|
|
|
|
|
# Tests
|
|
|
#### When reviewing a branch
|
|
|
|
|
|
* Check out and run the code as well as reading it
|
|
|
* Make sure you understand what the code is doing and why
|
|
|
* Don't be afraid to ask questions
|
|
|
|
|
|
## Tests
|
|
|
|
|
|
* Run the tests before putting a branch up for review
|
|
|
* To run the tests in Android Studio:
|
... | ... | @@ -35,7 +40,7 @@ |
|
|
* To run the tests from the command line:
|
|
|
* `./gradlew test --continue`
|
|
|
|
|
|
# Issues
|
|
|
## Issues
|
|
|
|
|
|
* When you start working on a ticket, assign it to yourself
|
|
|
* Label your ticket '[in progress](https://code.briarproject.org/akwizgran/briar/issues?state=opened&label_name=In+progress)' while you're working on it, then '[in code review](https://code.briarproject.org/akwizgran/briar/issues?state=opened&label_name=In+code+review)' while it's being reviewed
|
... | ... | @@ -50,7 +55,7 @@ |
|
|
* Document tasks produce text rather than code
|
|
|
* UX design tasks produce designs rather than code
|
|
|
|
|
|
# Meetings
|
|
|
## Meetings
|
|
|
|
|
|
* At the start of each week, let the team know what days you'll be working via the standup channel
|
|
|
* Post a daily update to the standup channel saying:
|
... | ... | @@ -59,7 +64,7 @@ |
|
|
* Any blockers
|
|
|
* If you're awake and online at 10am UTC, please post your update at that time so we can have a standup meeting
|
|
|
|
|
|
# Dependencies
|
|
|
## Dependencies
|
|
|
|
|
|
* If you have a task that depends on an earlier task that's awaiting code review, base your new branch on the branch that's awaiting review
|
|
|
* When the first branch is merged, rebase the second branch onto master
|
... | ... | |