Fixing divergent changesets

MHarbison at attotech.com MHarbison at attotech.com
Thu Nov 13 15:40:58 UTC 2014


Now that I've shot myself in the foot, I understand what I did wrong, and
am
wondering what options I have for fixing this.

I had a graph like this:

	o -- o -- A -- o -- o ...

I intended to split A apart, so I updated to A, amended it, and then
reverted the
files back to A and committed, so that I had something like this:

	o -- o -- A' -- B
            \
             A -- o -- o

Thinking I could then manually record that this was a split, I tried:

	$ hg kill A -s B
	1 changesets pruned
	2 new divergent changesets

Oops.  So I tried this:

	$ hg evolve
	abort: conflict rewriting. can't choose destination

I must have done something else when I first ran into this, because while I
got
the message above, I then started getting this message:

	$ hg evolve
	base of divergent changeset not found (this case is not yet handled)

I wasn't able to get the "not yet handled" case when trying to recreate the
issue.


So, a couple of questions:

1) What are my options for fixing this?  I really don't want to reclone and
   manually move all of the shelves and MQs over.  I suppose I could just
export
   the csets, tweak the time and reimport them after killing the originals.

2) I think kill should check for successors before operating.  Should it
require
   a -f, or just abort if there are successors?  Other than setting up a
test
   case, I'm not sure why it's useful for the user to create divergent
markers
   inside a single clone.  In recreating this scenario, I was also able to
do
   this _after_ the amend:

	$ hg kill A -s A'
	1 changesets pruned

But the changeset was already pruned, and I only realized I typed the wrong
value because I was expecting the divergent message.  Perhaps this should
abort
and hint that it is already pruned?

--Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-evolve-testers/attachments/20141113/467156f5/attachment-0002.html>


More information about the Evolve-testers mailing list