Make a new enclosing folder and move into it:
mkdir v4.45-tag cd v4.45-tag
Retrieve each layer's source code into local working directories:
git clone firstname.lastname@example.org:collectionspace/services.git git clone email@example.com:collectionspace/application.git git clone firstname.lastname@example.org:collectionspace/ui.git git clone email@example.com:collectionspace/Tools.git git clone firstname.lastname@example.org:collectionspace/cspace_django_project.git
- Within each directory in turn; that is, alternately within each of the
application, etc directories created by the
git clonecommand above:
Change into the appropriate directory; e.g. for services:
Fetch all remote branches:
git fetch origin
Verify that the tag you're creating doesn't already exist:
git tag -l
Check out the remote (from GitHub) release branch into a local branch; e.g. if that release branch were named
git checkout -b v4.45-branch-local origin/v4.45-branch
Making the name of the local branch different from that of the remote release branch can help avoid ambiguity for both humans and Git.
Make an annotated tag from that local branch (and hence effectively from the contents of the current, remote release branch); e.g.
git tag -a v4.45 -m "NOJIRA: Tagging the CollectionSpace v4.45 release."
Push the new tag to GitHub
git push --tags
- Verify on GitHub that the tag exists:
- For each layer:
Download the tag release's archive file (.zip or .tar.gz) from GitHub; e.g from:
- Explode (expand) that archive file.
- Move to the layer's local working directory.
- 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,
bbdifffor Mac OS X BBEdit users, etc.). These should be identical.
In your working directory, check out the master branch.
git co master
- 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.