You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Current »

The follow steps describe the git branch workflow to be used when developing for the Daffodil project. Note that the master branch is not used. Instead all development is to be done on a branch named after the version (using Semantic Versioning) being worked on.

For example, if the current version is 0.1.0, all development should follow the Development Workflow with 0.1.0 as the <version_branch>.

Upon spin completion the following tasks are performed:

  1. Tag a release. This may either be a release candidate or a final release. For example:

    $ git tag -a 0.1.0-rc1 -m "Spin 1, Release Candidate 1"
    $ git tag -a 0.1.0 -m "Spin 1, Final Release"

    Remember to push the tag:

    $ git push --tags origin
  2. Create a new branch for the next spin

    $ git branch 0.2.0
    $ git push origin 0.2.0
  3. Change the default branch to the new branch in the Stash Daffodil Repo Settings.

From this point on, all new features are to be added to the new branch (e.g. 0.2.0) following the Development Workflow. All tests and bug fixes for the previous spin should be added on that spins branch and immediately merged into the new branch by the person making the change:

$ git checkout 0.1.0
# fix bug and/or add test verifying bug fix, commit and push changes
$ git checkout 0.2.0
$ git merge 0.1.0

Please see Step 17 of the Development Workflow for the correct merge/test/push workflow.

  • No labels