Show More
@@ -1003,8 +1003,15 b' class localrepository(repo.repository):' | |||
|
1003 | 1003 | fixup = [] |
|
1004 | 1004 | # do a full compare of any files that might have changed |
|
1005 | 1005 | ctx = self.changectx() |
|
1006 | mexec = lambda f: 'x' in ctx.fileflags(f) | |
|
1007 | mlink = lambda f: 'l' in ctx.fileflags(f) | |
|
1008 | is_exec = util.execfunc(self.root, mexec) | |
|
1009 | is_link = util.linkfunc(self.root, mlink) | |
|
1010 | def flags(f): | |
|
1011 | return is_link(f) and 'l' or is_exec(f) and 'x' or '' | |
|
1006 | 1012 | for f in lookup: |
|
1007 |
if f not in ctx or |
|
|
1013 | if (f not in ctx or flags(f) != ctx.fileflags(f) | |
|
1014 | or ctx[f].cmp(self.wread(f))): | |
|
1008 | 1015 | modified.append(f) |
|
1009 | 1016 | else: |
|
1010 | 1017 | fixup.append(f) |
@@ -4,12 +4,18 b'' | |||
|
4 | 4 | |
|
5 | 5 | hg init |
|
6 | 6 | echo a > a |
|
7 |
hg ci - |
|
|
7 | hg ci -Am'not executable' | |
|
8 | 8 | |
|
9 | 9 | chmod +x a |
|
10 |
hg ci - |
|
|
10 | hg ci -m'executable' | |
|
11 | 11 | hg id |
|
12 | 12 | |
|
13 | echo '% make sure we notice the change of mode if the cached size == -1' | |
|
14 | hg rm a | |
|
15 | hg revert -r 0 a | |
|
16 | hg debugstate | |
|
17 | hg st | |
|
18 | ||
|
13 | 19 | hg up 0 |
|
14 | 20 | hg id |
|
15 | 21 | test -x a && echo executable -- eek || echo not executable -- whew |
General Comments 0
You need to be logged in to leave comments.
Login now