Tagging - PanDAWMS/panda-harvester GitHub Wiki

Although the HEAD version of the master brach should always be deployable, the master branch is tagged to make deployment and operation easier in wide collaboration. It is tagged just before adding significant changes which may break backward compatibilities, such as adding new tables and/or columns to the DB, changing or adding new attributes to the config file. Note that bug fixes or adding new plugins wouldn't make new tags since generally they keep backward compatibilities. The versioning string is composed of 'v' and 3 digits like v1.2.3. You can find all tags in this page.

Tags will help to find commits which can be safely merged or rebased. For example, if you have

$ git log master --oneline --decorate
7b1fde2 (origin/master, origin/HEAD, master) added apache_messenger
ddd52c5 Merge branch 'master' of https://github.com/PanDAWMS/panda-harvester
c5374ac (tag: v0.0.2) Merge pull request #11 from PanDAWMS/OLCF_validation
abc179a Fixed according to comments.
29b0580 SAGA submitter for simple payload. Fixes in dummy_sumitter and simple_worker_maker.
a44267c (HEAD, origin/My_Branch, My_Branch) fixed for pull
321e5bd added Sweeper.sweep_worker
ba65ad7 Merge remote-tracking branch 'origin/master'
926f398 added Sweeper
34283f6 (tag: v0.0.1) Merge pull request #10 from dougbenjamin/master
8f1313d protection against existing symlinks
a329811 add Shared File Messenger pic
b8108ba fixed http header
...

this means that the My_Branch branch would safely be able to merge commits until c5374ac. In other words some changes would be needed in the DB or the config file to merge commits after the v0.0.2 tag.

The release version is incremented in the next commit of each tag. This means that if you have

$ pip list | grep harvester
pandaharvester (0.0.1)

you could do

$ pip install git+git://github.com/PanDAWMS/[email protected] --upgrade

to install all commits up to the v0.0.1 tag. Or

$ pip install git+git://github.com/PanDAWMS/panda-harvester.git --upgrade

to catch up with HEAD.

Commit timestamp

If you work on a local clone of the panda-harvester repository, it is useful to record timestamp of each commit which can be shown using the --version option of master.py.

$ python lib/python*/site-packages/pandaharvester/harvesterbody/master.py --version 
Version : 0.0.8
Last commit : Thu Sep 7 20:16:12 UTC 2017 (by blah)

so that other colleagues can confirm that they use your commits. The commit_timestamp.py is automatically generated by the pre-commit hook. You need to enable the hook by making a symlink in your local clone. i.e.,

$ cd panda-harvester
$ rm -rf .git/hooks
$ ln -s git_hooks .git/hooks
$ chmod +x git_hooks/*