[PATCH 00 of 11 ] graft: support grafting across move/copy (issue4028)

Gábor Stefanik gabor.stefanik at nng.com
Wed Oct 5 08:04:53 EDT 2016


Graft performs a merge in a rotated DAG (with a false common ancestor), which
must be taken into account when tracking copies. Find the real common ancestor
in this case, and track copies between the real and false common ancestors in
reverse.

Using this change, when grafting a commit with a change to a file moved earlier
on the graft's source branch, the change is merged as expected into the original
(unmoved) file, rather than recreating it under its new name.
It should also eventually make it possible to support cross-branch updates that
preserve changes in a dirty working copy.


More information about the Mercurial-devel mailing list