[PATCH 0 of 1] merge: add --no-fast-forward to suppress fast-forward merge
mads at kiilerich.com
Mon Mar 7 11:46:59 CST 2011
On 03/07/2011 05:33 PM, Kevin Bullock wrote:
> With the 1.8 (fast-forward) behavior, it becomes impossible to distinguish between `hg branch -f foo`, meaning we're explicitly _replacing_ the 'foo' branch,
My mental model of named branches is that a named branch just designates
the set of changesets that was "born" there. It is possible to add
changesets to the set, but it is not possible to replace anything.
I don't read that much into the DAG structure. It just shows how
change_sets_ are immediate subsets of each other. When changesets on a
branch isn't directly connected it just tells me that development
The help for branch -f says "shadows an existing branch". That supports
your point of view. I think it would be better if it said something like
"reuse an existing branch".
I also think it is fine that merging with changesets on another named
branch sometimes just "pulls" it in, just like pulling from another
clone sometimes gives linear history and sometimes ends up with a merge.
All in my opinion,
More information about the Mercurial-devel