Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Make a new enclosing folder and move into it:

    Code Block
    mkdir v4.45-tag
    cd v4.45-tag
    
  2. Retrieve each layer's source code into local working directories:

    Code Block
    git clone git@github.com:collectionspace/services.git
    git clone git@github.com:collectionspace/application.git
    git clone git@github.com:collectionspace/ui.git
    
    git clone git@github.com:collectionspace/Tools.git
    git clone git@github.com:collectionspace/cspace_django_project.git
  3. Within each directory in turn; that is, alternately within each of the services, application, etc directories created by the git clone command above:
    1. Change into the appropriate directory; e.g. for services:

      Code Block
      cd services
      
    2. Fetch all remote branches:

      Code Block
      git fetch origin
      
    3. Verify that the tag you're creating doesn't already exist:

      Code Block
      git tag -l
      
    4. Check out the remote (from GitHub) release branch into a local branch; e.g. if that release branch were named v4.45-branch:

      Code Block
      git checkout -b v4.45-branch-local origin/v4.45-branch
      
      Tip

      Making the name of the local branch different from that of the remote release branch can help avoid ambiguity for both humans and Git.

    5. Make an annotated tag from that local branch (and hence effectively from the contents of the current, remote release branch); e.g.

      Code Block
      git tag -a v4.45 -m "NOJIRA: Tagging the CollectionSpace v4.45 release."
      
    6. Push the new tag to GitHub

      Code Block
      git push --tags
      
    7. Verify on GitHub that the tag exists:
      https://github.com/collectionspace/application/tags
      https://github.com/collectionspace/services/tags
      https://github.com/collectionspace/ui/tags
      https://github.com/collectionspace/cspace_django_project/tags
      https://github.com/collectionspace/Tools/tags

...

  1. For each layer:
    1. Download the tag release's archive file (.zip or .tar.gz) from GitHub; e.g from:

      Code Block
      https://github.com/collectionspace/services/tags
      
    2. Explode (expand) that archive file.
    3. Move to the layer's local working directory.
    4. Perform a directory 'diff' between your working directory containing your local branch (e.g. v2v4.25-branch) and the folder created from exploding GitHub's archive file, using your favorite directory diff tool (e.g. KDiff3, bbdiff for Mac OS X BBEdit users, etc.). These should be identical.
    5. In your working directory, check out the master branch.

      Code Block
      git co master
      
    6. Perform another directory 'diff' between your working directory containing your master branch and the folder created from exploding GitHub's archive file. These should differ.

See also

Creating a Release BranchesBranch