Show More
@@ -1792,7 +1792,7 b' class localrepository(object):' | |||||
1792 | # we need to reset the dirstate if the file was added |
|
1792 | # we need to reset the dirstate if the file was added | |
1793 | get[f] = m2[f] |
|
1793 | get[f] = m2[f] | |
1794 |
|
1794 | |||
1795 |
if not s and mfw |
|
1795 | if not s and mfw.execf(f) != mf2.execf(f): | |
1796 | if force: |
|
1796 | if force: | |
1797 | self.ui.debug(_(" updating permissions for %s\n") % f) |
|
1797 | self.ui.debug(_(" updating permissions for %s\n") % f) | |
1798 | util.set_exec(self.wjoin(f), mf2.execf(f)) |
|
1798 | util.set_exec(self.wjoin(f), mf2.execf(f)) |
@@ -13,6 +13,10 b' demandload(globals(), "array bisect stru' | |||||
13 | class manifestflags(dict): |
|
13 | class manifestflags(dict): | |
14 | def __init__(self, mapping={}): |
|
14 | def __init__(self, mapping={}): | |
15 | dict.__init__(self, mapping) |
|
15 | dict.__init__(self, mapping) | |
|
16 | def __getitem__(self, f): | |||
|
17 | raise "oops" | |||
|
18 | def flags(self, f): | |||
|
19 | return dict.__getitem__(self, f) | |||
16 | def execf(self, f): |
|
20 | def execf(self, f): | |
17 | "test for executable in manifest flags" |
|
21 | "test for executable in manifest flags" | |
18 | return "x" in self.get(f, "") |
|
22 | return "x" in self.get(f, "") | |
@@ -140,7 +144,7 b' class manifest(revlog):' | |||||
140 |
|
144 | |||
141 | # if this is changed to support newlines in filenames, |
|
145 | # if this is changed to support newlines in filenames, | |
142 | # be sure to check the templates/ dir again (especially *-raw.tmpl) |
|
146 | # be sure to check the templates/ dir again (especially *-raw.tmpl) | |
143 |
text = ["%s\000%s%s\n" % (f, hex(map[f]), flags |
|
147 | text = ["%s\000%s%s\n" % (f, hex(map[f]), flags.flags(f)) for f in files] | |
144 | self.listcache = array.array('c', "".join(text)) |
|
148 | self.listcache = array.array('c', "".join(text)) | |
145 | cachedelta = None |
|
149 | cachedelta = None | |
146 | else: |
|
150 | else: | |
@@ -166,7 +170,7 b' class manifest(revlog):' | |||||
166 | # bs will either be the index of the item or the insert point |
|
170 | # bs will either be the index of the item or the insert point | |
167 | start, end = self._search(addbuf, f, start) |
|
171 | start, end = self._search(addbuf, f, start) | |
168 | if w[1] == 0: |
|
172 | if w[1] == 0: | |
169 |
l = "%s\000%s%s\n" % (f, hex(map[f]), flags |
|
173 | l = "%s\000%s%s\n" % (f, hex(map[f]), flags.flags(f)) | |
170 | else: |
|
174 | else: | |
171 | l = "" |
|
175 | l = "" | |
172 | if start == end and w[1] == 1: |
|
176 | if start == end and w[1] == 1: |
General Comments 0
You need to be logged in to leave comments.
Login now