mercurial/filelog.py
changeset 22420 4669e26747c3
parent 19148 3bda242bf244
child 22421 30a610424eff
equal deleted inserted replaced
22419:fdfc9faca273 22420:4669e26747c3
    22         k, v = l.split(": ", 1)
    22         k, v = l.split(": ", 1)
    23         meta[k] = v
    23         meta[k] = v
    24         keys.append(k)
    24         keys.append(k)
    25     return meta, keys, (s + 2)
    25     return meta, keys, (s + 2)
    26 
    26 
    27 def _packmeta(meta, keys=None):
    27 def packmeta(meta, text):
    28     if not keys:
    28     keys = sorted(meta.iterkeys())
    29         keys = sorted(meta.iterkeys())
    29     metatext = "".join("%s: %s\n" % (k, meta[k]) for k in keys)
    30     return "".join("%s: %s\n" % (k, meta[k]) for k in keys)
    30     return "\1\n%s\1\n%s" % (metatext, text)
    31 
    31 
    32 class filelog(revlog.revlog):
    32 class filelog(revlog.revlog):
    33     def __init__(self, opener, path):
    33     def __init__(self, opener, path):
    34         super(filelog, self).__init__(opener,
    34         super(filelog, self).__init__(opener,
    35                         "/".join(("data", path + ".i")))
    35                         "/".join(("data", path + ".i")))
    41         s = t.index('\1\n', 2)
    41         s = t.index('\1\n', 2)
    42         return t[s + 2:]
    42         return t[s + 2:]
    43 
    43 
    44     def add(self, text, meta, transaction, link, p1=None, p2=None):
    44     def add(self, text, meta, transaction, link, p1=None, p2=None):
    45         if meta or text.startswith('\1\n'):
    45         if meta or text.startswith('\1\n'):
    46             text = "\1\n%s\1\n%s" % (_packmeta(meta), text)
    46             text = packmeta(meta, text)
    47         return self.addrevision(text, transaction, link, p1, p2)
    47         return self.addrevision(text, transaction, link, p1, p2)
    48 
    48 
    49     def renamed(self, node):
    49     def renamed(self, node):
    50         if self.parents(node)[0] != revlog.nullid:
    50         if self.parents(node)[0] != revlog.nullid:
    51             return False
    51             return False