[Bug 5407] New: Graft performs a filemerge for all files renamed in graft target, even those unaffected by the commit to be grafted
bugzilla at mercurial-scm.org
bugzilla at mercurial-scm.org
Tue Oct 25 14:46:06 UTC 2016
https://bz.mercurial-scm.org/show_bug.cgi?id=5407
Bug ID: 5407
Summary: Graft performs a filemerge for all files renamed in
graft target, even those unaffected by the commit to
be grafted
Product: Mercurial
Version: 4.0-rc
Hardware: PC
OS: Windows
Status: UNCONFIRMED
Severity: bug
Priority: wish
Component: Mercurial
Assignee: bugzilla at selenic.com
Reporter: gabor.stefanik at nng.com
CC: mercurial-devel at selenic.com
This is a spinoff of bugs 4028 and 5126.
It turns out that with bug 4028 fixed, we are now able to graft changes
backwards through a rename, but we do so inefficiently. Specifically, we try to
do a filemerge for all files that were renamed between the graft base and the
graft target, regardless of whether they were touched by the commit being
grafted.
This can severely slow down such grafts, and even create unnecessary conflicts
in case of renamed binary files. In fact it was this, not bug 5126, that caused
the slow grafts we experienced at NNG after applying the fix for bug 4028.
Testcase:
$ hg init test
$ cd test
$ echo a > a
$ hg ci -qAma
$ hg mv a b
$ echo b > b
$ hg ci -qAmb
$ echo c > c
$ hg ci -qAmc
$ hg up -q .~2
$ hg graft 2 -qt:fail
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list