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