--- a/mercurial/merge.py Tue Jan 13 13:43:42 2009 +0100
+++ b/mercurial/merge.py Tue Jan 13 23:17:19 2009 +0100
@@ -370,7 +370,7 @@
elif m == "f": # forget
repo.dirstate.forget(f)
elif m == "e": # exec change
- repo.dirstate.normaldirty(f)
+ repo.dirstate.normallookup(f)
elif m == "g": # get
if branchmerge:
repo.dirstate.normaldirty(f)
--- a/tests/test-up-issue1456 Tue Jan 13 13:43:42 2009 +0100
+++ b/tests/test-up-issue1456 Tue Jan 13 23:17:19 2009 +0100
@@ -15,3 +15,10 @@
cat foo
hg st -A
+echo '% validate update of standalone execute bit change'
+hg up -C 0
+chmod -x foo
+hg ci -m removeexec
+hg up -C 0
+hg up
+hg st
--- a/tests/test-up-issue1456.out Tue Jan 13 13:43:42 2009 +0100
+++ b/tests/test-up-issue1456.out Tue Jan 13 23:17:19 2009 +0100
@@ -1,2 +1,7 @@
dirty
M foo
+% validate update of standalone execute bit change
+1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+nothing changed
+0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+0 files updated, 0 files merged, 0 files removed, 0 files unresolved