why abort on grafting sibling?

Robert Figura nc-figuraro at netcologne.de
Tue Sep 25 18:02:04 UTC 2012


hi,

in the middle of some history ...a-b-c...
i'd like to tinker with a changeset b.
so i'd like to duplicate it to qimport and edit it:

$ hg up -r a
$ hg graft b
grafting revision b
abort: nothing to merge
(use 'hg update' or check 'hg heads')

Aha, graft won't allow me to duplicate b.
Using export | import directly gives the same problem.

I was reasoning that i maybe was trying something stupid and i found
that there are other cases where it indeed is stupid to duplicate. So i
really appreciate the warning.

Well, okay it is going to be a duplicate and that might be confusing.
I could use qimport on all revs up to tip, edit and and qfinish instead.
But i consider it a feature to have the original changesets around in
place in case i screw up.

Of course there is a workaround, i can use revert:

$ hg up a
$ hg revert --all b

But this will lose my commit message and put me into the hazzle of
manually fixing added/removed files.

Or rather i should use a clone repository, to work around??

So: Why is grafting a direct sibling *generally* bad?

Kind Regards
  - Robert Figura

P.S.: I'd also like to use this copying technique before commit --amend
since leaving the history in place seems to be better than a heap of
backup bundles (especially after more iterations).

-- 
http://teslawm.org/




More information about the Mercurial mailing list