# HG changeset patch # User Matt Mackall # Date 1153036760 18000 # Node ID 0b50a580be363519518fb361f8cd8e730c0abff6 # Parent 00fc88b0b256ab2117f10bddf4c5aeadd0f4aab2 Add manifestflags class diff -r 00fc88b0b256 -r 0b50a580be36 mercurial/manifest.py --- a/mercurial/manifest.py Wed Jul 12 08:59:20 2006 -0700 +++ b/mercurial/manifest.py Sun Jul 16 02:59:20 2006 -0500 @@ -10,6 +10,20 @@ from demandload import * demandload(globals(), "array bisect struct") +class manifestflags(dict): + def __init__(self, mapping={}): + dict.__init__(self, mapping) + def execf(self, f): + "test for executable in manifest flags" + return self.get(f, False) + def linkf(self, f): + "test for symlink in manifest flags" + return False + def set(self, f, execf=False, linkf=False): + self[f] = execf + def copy(self): + return manifestflags(dict.copy(self)) + class manifest(revlog): def __init__(self, opener, defversion=REVLOGV0): self.mapcache = None @@ -23,7 +37,7 @@ return self.mapcache[1] text = self.revision(node) map = {} - flag = {} + flag = manifestflags() self.listcache = array.array('c', text) lines = text.splitlines(1) for l in lines: