[Bioperl-l] git branches, tags, 'topic/bug_####'
Jay Hannah
jay at jays.net
Thu May 13 14:38:20 UTC 2010
So, like this?
Flow diagram:
http://biodoc.ist.unomaha.edu/~jhannah/tmp/branches.png
master
(git and github default) Trivial changes committed directly here.
topic/bug_####
One branch per non-trivial Bugzilla ticket
topic/jhannah_crazy_idea
Branches for unstable/unfinished work
stable
Release manager pulls from master to stable periodically (all tests are passing, etc.)
release-#-#-#
Pulled from stable, pushed to CPAN
attic/*
Any branch with no activity for 1 year
I like it.
> Re: deletion of branches, I'm only really in support of deleting feature branches that have been merged back to 'master' or another branch (e.g. only removed using 'git branch -d foo'). Older subversion release branches don't tend to fall into that category, in that we had merged or cherry-picked changes from svn trunk to them, not vice versa; they were never merged back to trunk. Deletion in this case would be somewhat history-revising, correct?
I'm fine with attic/ and just leaving stuff in there until 2050. Then we should probably delete them. :)
My understanding is that by default commits that have no pointers to them (branches or tags or subsequent commits) are subject to cleanup/prune. I think this means that if someone, 10 years ago, committed 3 times to the branch "jhannah_crazy_idea" and that branch is deleted, then those 3 commits may be removed (gone forever) by git cleanup/prune.
This is a feature or a crime against humanity depending on who you ask. It can be disabled in a normal repo, I don't know about github.
> Saying that, we could adopt a workflow policy that allows deletion of any merged branch. All this suggests coming up with a good 'Contributing' document. Our 'Using Git' is a start towards this, but it's more a general use page and could point to other (possibly better) resources. I would like something a bit more focused to demonstrate example work-flows and standard practices for those new to git and to BioPerl. It should also mention how we handle pull requests and other github-related bits.
As I collect clues I'll be brain dumping everything I think I know onto the wiki. This is a crazy busy week for me though. :(
Jay Hannah
http://biodoc.ist.unomaha.edu/wiki/User:Jhannah
More information about the Bioperl-l
mailing list