-
Notifications
You must be signed in to change notification settings - Fork 66
Workflow
Peter Remmen edited this page Nov 19, 2015
·
8 revisions
We use a workflow similar to that of the AixLib Library. Therefore, the following text is taken from the AixLib Wiki with some modifications:
We have two major, permanently existing branches:
- master - This branch should always be a stable version. Bugfixes will be merged directly into the master, with changing version number (eg. from 0.1.12 -> 0.1.13, see Semantic Versioning) and a new release on GitHub.
- development - Between each each minor (e.g. v0.1.13 -> v0.2.0) and major (e.g. v1.6.5 -> v2.0.0) release the development of new features and minor revision is coordinated in this branch. The targets of each release are documented via Milestones (e.g. Milestone v0.3.0). After all issues of a release Milestone are successfully implemented in the development branch, the development branch is merged into the master, and a new version will be released. The development branch is also kept up to date with the master (bugfixes).
If you want to contribute to TEASER, this is our Git workflow:
-
Open a new issue, and assign it to the one who can address it (which may be you).
-
Make a new branch starting from the **development** branch. Call this branch something like issue17_templateBoiler, use the issue number and a brief description of the revised feature.
-
Document your changes on the issue tracker and implement them on the branch. You may want to include in the commit message a string such as #17. This will automatically add a link to the commit from the issue.
-
When done with the implementation:
- merge the latest version from the development branch to your branch
- make a pull request from your branch to the development branch
- assign the issue to someone for review and for merging it into the development branch
-
When reviewing other's code, add your comments on the issue tracker
-
If the revisions are reviewed and correct, merge the pull requests to the **development** branch, delete the branch and close the ticket. If the revisions need further work, assign the issue to the original author.
Note that only the person who reviewed the code will merge it to the master. Don't merge your own revisions without having them reviewed.