##// END OF EJS Templates
manifestflags: eliminate remaining users of direct dict access
Matt Mackall -
r2834:35af2e56 default
parent child Browse files
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[f] != mf2[f]:
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[f]) for f in files]
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[f])
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