--- 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
|/