Version Control Process - AD-EYE/AD-EYE_Core GitHub Wiki
Branching conventions
Contribute/Edit code
git checkout intern_dev
switches to intern_dev branchgit pull
updates the local intern_dev branchgit checkout -b <new-branch-name>
creates a new branch- Work on the branch (
git add
andgit commit
) and push branch upstream when ready regularly - Once the work is finished and tested, create a pull request for the branch to be merged into
intern_dev
Pull requests creation
Before doing the pull request make sure that the feature you have implemented is functional and that it does not interfere with the platform (it does not break existing features). W01_Base_Map
should always be functional and all the launch files should point to that map when creating the pull request.
During the pull request creation use the pull request template and fill it in (leave the review part to the reviewer).
After the pull request is created, you will be able to see a diff between both branches. Check all the modified files and make sure that there is no unintended modification.
Pull requests review
All the pull requests should contain the pull request template. This template contains a list of things to be checked by the reviewer during the review process.
Some modifications might be required. In that case, the reviewer can request changes. Once the reviewer has gone through the full review checklist and does not have any changes to request, they can approve the pull request and merge it.
Weekly process
Every week, one (or more) person is responsible for the intern_dev
branch.
That week, that person must:
- review all the pull requests raised to
intern_dev
- merge the pull request to
intern_dev
once approved - raise a pull request from
intern_dev
todev
on Friday and notify Maxime - redistribute the requested changes by Maxime to the relevant code owners (if needed use git blame)
- repeat this process until Maxime approves the pull request and synchronizes
intern_dev
anddev
The Friday intern_dev
-dev
pull request is high priority and all people that have to make changes should put their current task on hold.
Branch protection
- Pushes to the master and dev branch are disabled.
- All integration to
master
are done via pull requests assigned to Naveen. - All integration to
dev
are done via pull requests assigned to Maxime.