mercurial/manifest.py
changeset 2856 18cf5349a361
parent 2853 e3fb4223e750
child 2858 345bac2bc4ec
equal deleted inserted replaced
2855:a3c73c9679d2 2856:18cf5349a361
     9 from i18n import gettext as _
     9 from i18n import gettext as _
    10 from demandload import *
    10 from demandload import *
    11 demandload(globals(), "array bisect struct")
    11 demandload(globals(), "array bisect struct")
    12 
    12 
    13 class manifestdict(dict):
    13 class manifestdict(dict):
    14     def __init__(self, mapping={}, flags={}):
    14     def __init__(self, mapping=None, flags=None):
       
    15         if mapping is None: mapping = {}
       
    16         if flags is None: flags = {}
    15         dict.__init__(self, mapping)
    17         dict.__init__(self, mapping)
    16         self._flags = flags
    18         self._flags = flags
    17     def flags(self, f):
    19     def flags(self, f):
    18         return self._flags.get(f, "")
    20         return self._flags.get(f, "")
    19     def execf(self, f):
    21     def execf(self, f):
    25     def rawset(self, f, entry):
    27     def rawset(self, f, entry):
    26         self[f] = bin(entry[:40])
    28         self[f] = bin(entry[:40])
    27         fl = entry[40:-1]
    29         fl = entry[40:-1]
    28         if fl: self._flags[f] = fl
    30         if fl: self._flags[f] = fl
    29     def set(self, f, execf=False, linkf=False):
    31     def set(self, f, execf=False, linkf=False):
    30         if execf: self._flags[f] = "x"
    32         if linkf: self._flags[f] = "l"
    31         if linkf: self._flags[f] = "x"
    33         elif execf: self._flags[f] = "x"
       
    34         else: self._flags[f] = ""
    32     def copy(self):
    35     def copy(self):
    33         return manifestdict(dict.copy(self), dict.copy(self._flags))
    36         return manifestdict(dict.copy(self), dict.copy(self._flags))
    34 
    37 
    35 class manifest(revlog):
    38 class manifest(revlog):
    36     def __init__(self, opener, defversion=REVLOGV0):
    39     def __init__(self, opener, defversion=REVLOGV0):