equal
deleted
inserted
replaced
256 |
256 |
257 self.opener = opener(self.path) |
257 self.opener = opener(self.path) |
258 self.manifest = manifest(self.opener) |
258 self.manifest = manifest(self.opener) |
259 self.changelog = changelog(self.opener) |
259 self.changelog = changelog(self.opener) |
260 self.ignorelist = None |
260 self.ignorelist = None |
|
261 self.tags = None |
261 |
262 |
262 if not self.remote: |
263 if not self.remote: |
263 self.dircache = dircache(self.opener, ui) |
264 self.dircache = dircache(self.opener, ui) |
264 try: |
265 try: |
265 self.current = bin(self.opener("current").read()) |
266 self.current = bin(self.opener("current").read()) |
272 |
273 |
273 def ignore(self, f): |
274 def ignore(self, f): |
274 if self.ignorelist is None: |
275 if self.ignorelist is None: |
275 self.ignorelist = [] |
276 self.ignorelist = [] |
276 try: |
277 try: |
277 l = open(os.path.join(self.root, ".hgignore")).readlines() |
278 l = open(os.path.join(self.root, ".hgignore")) |
278 for pat in l: |
279 for pat in l: |
279 if pat != "\n": |
280 if pat != "\n": |
280 self.ignorelist.append(re.compile(pat[:-1])) |
281 self.ignorelist.append(re.compile(pat[:-1])) |
281 except IOError: pass |
282 except IOError: pass |
282 for pat in self.ignorelist: |
283 for pat in self.ignorelist: |
283 if pat.search(f): return True |
284 if pat.search(f): return True |
284 return False |
285 return False |
|
286 |
|
287 def lookup(self, key): |
|
288 if self.tags is None: |
|
289 self.tags = {} |
|
290 try: |
|
291 fl = self.file(".hgtags") |
|
292 for l in fl.revision(fl.tip()).splitlines(): |
|
293 if l: |
|
294 n, k = l.split(" ") |
|
295 self.tags[k] = bin(n) |
|
296 except KeyError: pass |
|
297 try: |
|
298 return self.tags[key] |
|
299 except KeyError: |
|
300 return self.changelog.lookup(key) |
285 |
301 |
286 def join(self, f): |
302 def join(self, f): |
287 return os.path.join(self.path, f) |
303 return os.path.join(self.path, f) |
288 |
304 |
289 def file(self, f): |
305 def file(self, f): |