mercurial/merge.py
branchstable
changeset 11466 ad27428c59ce
parent 11454 9b0406b23be0
child 11470 34e33d50c26b
--- a/mercurial/merge.py	Thu Jun 24 15:18:47 2010 +0100
+++ b/mercurial/merge.py	Wed Jun 30 17:34:20 2010 -0500
@@ -182,7 +182,9 @@
             rflags = fmerge(f, f, f)
             a = ma.get(f, nullid)
             if n == m2[f] or m2[f] == a: # same or local newer
-                if m1.flags(f) != rflags:
+                # is file locally modified or flags need changing?
+                # dirstate flags may need to be made current
+                if m1.flags(f) != rflags or n[20:]:
                     act("update permissions", "e", f, rflags)
             elif n == a: # remote newer
                 act("remote is newer", "g", f, rflags)