--- a/mercurial/context.py Sat Jun 14 16:01:24 2008 +0200
+++ b/mercurial/context.py Sun Jun 15 13:05:39 2008 +0200
@@ -538,7 +538,7 @@
is_exec = util.execfunc(self._repo.root,
lambda p: flag and 'x' in flag)
try:
- return (is_link(path) and 'l' or '') + (is_exec(path) and 'e' or '')
+ return (is_link(path) and 'l' or '') + (is_exec(path) and 'x' or '')
except OSError:
pass
--- a/mercurial/dirstate.py Sat Jun 14 16:01:24 2008 +0200
+++ b/mercurial/dirstate.py Sun Jun 15 13:05:39 2008 +0200
@@ -186,6 +186,8 @@
self._dirty = False
def copy(self, source, dest):
+ if source == dest:
+ return
self._dirty = True
self._copymap[dest] = source
--- a/mercurial/localrepo.py Sat Jun 14 16:01:24 2008 +0200
+++ b/mercurial/localrepo.py Sun Jun 15 13:05:39 2008 +0200
@@ -695,7 +695,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 Sat Jun 14 16:01:24 2008 +0200
+++ b/tests/test-convert-svn-branches.out Sun Jun 15 13:05:39 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
|/