[Python-Dev] Hg: inter-branch workflow (original) (raw)

Nick Coghlan ncoghlan at gmail.com
Tue Mar 22 22:37:18 CET 2011


On Wed, Mar 23, 2011 at 12:22 AM, Barry Warsaw <barry at python.org> wrote:

I think that's different than what John was describing, or perhaps Python's use of it has the effect of being different.  IIUC, in Mercurial, within the default branch there's no clear "main line" of development assigned to a path within the DAG.  All paths are created equal, so it's not possible to e.g. have log or bisect suppress one path containing feature sub-commits from the point of departure to the point of recombination (merge).

I was playing actually with the "-b" (branch) option on hg log and found its behaviour to be a little strange when used on a specific file.

I'd made a mistake in my sandbox and, as part of a merge from default, accidentally reverted all the changes on a feature branch.

However, when doing "hg log -b . Objects/abstract.c" the last change it showed for the file was the last feature addition in the branch, NOT the merge from default where I had accidentally clobbered those changes.

By looking at changes made on the default branch as well, I was able to identify the offending changeset, do a hg rollback and then commit that on the feature branch so everything was back the way it should be. However, I was very, very surprised that hg log on a specific file within a branch didn't flag the merge revisions that had brought in changes that affected that file.

Cheers, Nick.

-- Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia



More information about the Python-Dev mailing list