comparison mercurial/filelog.py @ 22421:30a610424eff

filelog: make parsemeta a public module function, to be used by censor module
author Mike Edgar <adgar@google.com>
date Wed, 10 Sep 2014 00:18:15 -0400
parents 4669e26747c3
children 75bb7c702317
comparison
equal deleted inserted replaced
22420:4669e26747c3 22421:30a610424eff
7 7
8 import revlog 8 import revlog
9 import re 9 import re
10 10
11 _mdre = re.compile('\1\n') 11 _mdre = re.compile('\1\n')
12 def _parsemeta(text): 12 def parsemeta(text):
13 """return (metadatadict, keylist, metadatasize)""" 13 """return (metadatadict, keylist, metadatasize)"""
14 # text can be buffer, so we can't use .startswith or .index 14 # text can be buffer, so we can't use .startswith or .index
15 if text[:2] != '\1\n': 15 if text[:2] != '\1\n':
16 return None, None, None 16 return None, None, None
17 s = _mdre.search(text, 2).start() 17 s = _mdre.search(text, 2).start()
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
52 t = self.revision(node) 52 t = self.revision(node)
53 m = _parsemeta(t)[0] 53 m = parsemeta(t)[0]
54 if m and "copy" in m: 54 if m and "copy" in m:
55 return (m["copy"], revlog.bin(m["copyrev"])) 55 return (m["copy"], revlog.bin(m["copyrev"]))
56 return False 56 return False
57 57
58 def size(self, rev): 58 def size(self, rev):