Mercurial > public > mercurial-scm > hg
comparison mercurial/hg.py @ 67:a182f2561c8e
Add tag support
author | mpm@selenic.com |
---|---|
date | Fri, 13 May 2005 13:12:32 -0800 |
parents | d40cc5aacc31 |
children | 85f1f87dc8ff |
comparison
equal
deleted
inserted
replaced
66:5ec8b2ed858f | 67:a182f2561c8e |
---|---|
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): |