[Python-Dev] Hg: inter-branch workflow

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