Mercurial > hg
changeset 12683:ada47c38f4e5
copies: don't detect copies as "divergent renames"
(For the purposes of this patch copy is defined as a rename where the
source continues to exist.)
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Sun, 10 Oct 2010 09:48:37 -0500 |
parents | 58a3e2608ae4 |
children | 8348599c68d7 |
files | mercurial/copies.py tests/test-rename-merge1.t |
diffstat | 2 files changed, 26 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/copies.py Sat Oct 09 11:02:11 2010 -0500 +++ b/mercurial/copies.py Sun Oct 10 09:48:37 2010 -0500 @@ -195,8 +195,8 @@ diverge2 = set() for of, fl in diverge.items(): - if len(fl) == 1: - del diverge[of] # not actually divergent + if len(fl) == 1 or of in c2: + del diverge[of] # not actually divergent, or not a rename else: diverge2.update(fl) # reverse map for below
--- a/tests/test-rename-merge1.t Sat Oct 09 11:02:11 2010 -0500 +++ b/tests/test-rename-merge1.t Sun Oct 10 09:48:37 2010 -0500 @@ -75,3 +75,27 @@ $ hg debugrename b b renamed from a:dd03b83622e78778b403775d0d074b9ac7387a66 +This used to trigger a "divergent renames" warning, despite no renames + + $ hg cp b b3 + $ hg cp b b4 + $ hg ci -A -m 'copy b twice' + $ hg up eb92d88a9712 + 0 files updated, 0 files merged, 2 files removed, 0 files unresolved + $ hg up + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg rm b3 b4 + $ hg ci -m 'clean up a bit of our mess' + +We'd rather not warn on divergent renames done in the same changeset (issue2113) + + $ hg cp b b3 + $ hg mv b b4 + $ hg ci -A -m 'divergent renames in same changeset' + $ hg up c761c6948de0 + 1 files updated, 0 files merged, 2 files removed, 0 files unresolved + $ hg up + warning: detected divergent renames of b to: + b3 + b4 + 2 files updated, 0 files merged, 1 files removed, 0 files unresolved