-
Notifications
You must be signed in to change notification settings - Fork 128
Home
I thought this would be a good place to document the project workflow and the status of issues.
The branches listed below are persistent through the life of the project.
The master
branch is the most recent released version of the library, sample code, and documentation.
The stage
branch contains all of the issue branches merged together when the issue has been resolved. When it is time for a new release, all of the tests are run to make sure that new issues haven't been introduced, and the stage is merged into the master
, then the master branch is tagged as a release.
The samples
branch is used to update sample code when there are changes to samples that are not related to a specific change in the library. I anticipated making a lot of sample applications and fewer changes to the library, but as it turns out, there are a lot of changes to the library. The samples
branch is merged into the master
before each release.
The doc
branch is used to update the project documentation. Hey, stop that, it happens. When the documentation files (the Sphinx reStructured text files) are updated, they are then merged directly into the master
branch, without generating a release or having to go through the stage
branch, because when it does happen, it shouldn't have to wait for a release.
Each issue is given its own branch from stage
when someone is ready to start working on the issue. When the work has completed the issue is closed and the issue branch is merged back into stage
. At the conclusion of the release the issue branches for closed issues are deleted. The developers can then run git pull --prune
to delete the local branches if they have them checked out.