[brailleblaster] Re: Setting up branches in the repository

  • From: "John J. Boyer" <john.boyer@xxxxxxxxxxxxxxxxx>
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Fri, 4 May 2012 09:41:51 -0500

Thanks. This helps a lot. I'll have to think about just how to go about 
branching. 

John

On Fri, May 04, 2012 at 10:51:36AM +0100, Michael Whapples wrote:
> For either way you may find the mercurial book useful 
> http://hgbook.red-bean.com/read/ and in particular chapter 8 
> http://hgbook.red-bean.com/read/managing-releases-and-branchy-development.html
> 
> As I mentioned before my preferred way of branching tends to be creating 
> clones working in that and then merging the changes back. I know with 
> this there was the issue of how to make the branch public, well you 
> could set up temporary repositories on bitbucket.org and push the branch 
> to that (a free account on bitbucket should be sufficient for this use).
> 
> With the cloning system, merging is done how you merged the changes when 
> I had made commits and pushed to the central repository.
> 
> A work flow might look like:
> * Set up an account and empty repository on bitbucket.org (you possibly 
> could import from the BrailleBlaster one on google code, however I will 
> discuss for an empty one).
> * Create your local clone for the branch on your system (either pulling 
> from a local repository or the public one), eg:
> hg clone https://code.google.com/p/brailleblaster
> * Make changes and commit (do not push yet, just the commit command, see 
> next instruction for pushing)
> * Now push it to your bitbucket repository:
> hg push <your-bitbucket-repository push address>
> The <your-bitbucket-push-address> will be the address of the repository 
> and should be https
> * keep on committing and pushing to bitbucket while working on the 
> branch, also pull from it if others make changes to it.
> * Now when you are ready, pull again from the google code repository so 
> you can merge any changes from there into your branch (you may want to 
> do this more than just at the end, if you do it as you go along the 
> merges will probably be simpler):
> hg pull https://code.google.com/p/brailleblaster
> * Now do the merging, probably hg update and hg merge will help here.
> * Once all is merged, you now should be able to push to the google code 
> repository:
> hg push https://code.google.com/p/brailleblaster
> * All done, if the branch is no longer needed you probably can go ahead 
> and delete the repository from bitbucket.
> 
> The other alternative is to use the branch facility of mercurial.
> 
> * Create a branch with the branch command:
> hg branch mybranch
> * You can see what branches there are:
> hg branches
> * You can see which branch you are on with the branch command:
> hg branch
> * To swap between branches use the update command with the branch name:
> hg update mybranch
> * You can merge another branch by using the merge command and the branch 
> you want to merge from:
> hg merge otherbranch
> 
> Remember though, by using this second branch system everyone who wants 
> to deal with a testing branch will also need to work with mercurial's 
> branching commands, where as the first option people just deal with 
> different repositories.
> 
> Michael Whapples
> On 03/05/2012 16:50, John J. Boyer wrote:
> >We will be testing a multi-document interface and other new features. It
> >would be nice to put this in a separate branch in the repository. How is
> >this done? When testing is complete, how is the branch merged back into
> >the default branch?
> >
> >The new features are mostly the work of Hanxiao Fu, who volunteered
> >while he was a student at the University of Wisconsin-Madison, and who
> >is now working from China.
> >
> >Thanks,
> >
> 

-- 
John J. Boyer; President, Chief Software Developer
Abilitiessoft, Inc.
http://www.abilitiessoft.com
Madison, Wisconsin USA
Developing software for people with disabilities


Other related posts: