Ignore dummy copies in dirstate and localrepo.filecommit()
authorPatrick Mezard <pmezard@gmail.com>
Sun, 15 Jun 2008 13:01:03 +0200
changeset 6680 deda205a00e1
parent 6679 d286ec1bdcff
child 6681 6a6ef726a2b3
child 6685 76021ec849c8
Ignore dummy copies in dirstate and localrepo.filecommit()
mercurial/dirstate.py
mercurial/localrepo.py
tests/test-convert-svn-branches.out
--- a/mercurial/dirstate.py	Sun Jun 15 13:01:01 2008 +0200
+++ b/mercurial/dirstate.py	Sun Jun 15 13:01:03 2008 +0200
@@ -167,6 +167,8 @@
         self._dirty = False
 
     def copy(self, source, dest):
+        if source == dest:
+            return
         self._dirty = True
         self._copymap[dest] = source
 
--- a/mercurial/localrepo.py	Sun Jun 15 13:01:01 2008 +0200
+++ b/mercurial/localrepo.py	Sun Jun 15 13:01:03 2008 +0200
@@ -688,7 +688,7 @@
 
         meta = {}
         cp = self.dirstate.copied(fn)
-        if cp:
+        if cp and cp != fn:
             # Mark the new revision of this file as a copy of another
             # file.  This copy data will effectively act as a parent
             # of this new revision.  If this is a merge, the first
--- a/tests/test-convert-svn-branches.out	Sun Jun 15 13:01:01 2008 +0200
+++ b/tests/test-convert-svn-branches.out	Sun Jun 15 13:01:03 2008 +0200
@@ -117,7 +117,7 @@
 | | |
 | o |  branch= 3 change a files: a
 | | |
-| | o  branch=old 2 branch trunk, remove c files: a b
+| | o  branch=old 2 branch trunk, remove c files:
 | |/
 | o  branch= 1 hello files: a b c
 |/