views:

41

answers:

1

So I have a mercurial repository that is the "blessed" repository that I will have open release cycle branches, for example Release1, Release2 etc.

When a dev is working on a release cycle they will pull down Release1, then on their local machine branch for Bug1, Bug2 and fix those.

What command sequence needs to happen for the devs to correctly close their Bug branches, merge the changes into the Release1 branch so that when the changes are pushed to the server no branch information about Bug1, Bug2 etc will be pushed to the server?

A: 

If you're using named branches the branch information about bug1 will always be pushed to the server. Named branch names are parts of their changesets and never go away or get changed. You can cause them to not show up in default branch lists by using teh --close-branch option to commit, but they're still there and listable.

If you want a branching model where the branch names don't escape Mercurial provides some other branch options that may suit your needs better:

http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/

If someone suggests using the 'TransplantExtension' to merge the branches in and hide the branch information, don't listen -- it's a terrible idea.

Ry4an