# HG changeset patch # User Matt Mackall # Date 1277937260 18000 # Node ID ad27428c59ced65cf29f96e063a7a6bc012f7630 # Parent ace5bd98bee3961c493f79e72e7b05bd0277f4ce update: synchronize permissions in the dirstate (issue1473) fix by Benoit, updated by mpm to not affect all clean files diff -r ace5bd98bee3 -r ad27428c59ce mercurial/merge.py --- 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)