Merging with ancestor and DAG well-formedness
Mads Kiilerich
mads at kiilerich.com
Sat Dec 25 18:26:35 CST 2010
Please share your opinion here or comment on
http://mercurial.selenic.com/bts/issue2538 .
Is it an implicit invariant in the Mercurial repository data model that
a merge always merges changesets that not are each others
ancestor/descendant? Or is it only something that mostly is enforced at
the command line API?
Is it a bug if we somehow ends up with a merge changeset where the
parents are linearly related?
Is it thus ok if future operations (such as convert/rebase) on such
repositories fails? Is it feasible at all to work correctly on such
repositories - and is it well-defined what correct means?
Is it a bug in cvs2hg that it creates such changesets (to simulate cvs
tags)?
Is the "solution" at the bottom of
http://hgtip.com/tips/advanced/2010-04-23-debug-command-tricks/ a _very_
bad tip?
Or is Oedipus merges something that is convenient and acceptable in some
cultures and something that the internal API and data model makes
possible and that thus should be supported everywhere?
Matt pushed http://www.selenic.com/hg/rev/9e7e24052745 , and I assume
that he thus implicitly gave some support towards maintaining a
well-formedness invariant.
/Mads
More information about the Mercurial-devel
mailing list