##// END OF EJS Templates
filelog: move metadata parsing to a helper function
Matt Mackall -
r13240:e5060aa2 default
parent child Browse files
Show More
@@ -7,6 +7,17 b''
7
7
8 import revlog
8 import revlog
9
9
10 def _parsemeta(text):
11 if not text.startswith('\1\n'):
12 return {}
13 s = text.index('\1\n', 2)
14 mt = text[2:s]
15 m = {}
16 for l in mt.splitlines():
17 k, v = l.split(": ", 1)
18 m[k] = v
19 return m
20
10 class filelog(revlog.revlog):
21 class filelog(revlog.revlog):
11 def __init__(self, opener, path):
22 def __init__(self, opener, path):
12 revlog.revlog.__init__(self, opener,
23 revlog.revlog.__init__(self, opener,
@@ -19,18 +30,6 b' class filelog(revlog.revlog):'
19 s = t.index('\1\n', 2)
30 s = t.index('\1\n', 2)
20 return t[s + 2:]
31 return t[s + 2:]
21
32
22 def _readmeta(self, node):
23 t = self.revision(node)
24 if not t.startswith('\1\n'):
25 return {}
26 s = t.index('\1\n', 2)
27 mt = t[2:s]
28 m = {}
29 for l in mt.splitlines():
30 k, v = l.split(": ", 1)
31 m[k] = v
32 return m
33
34 def add(self, text, meta, transaction, link, p1=None, p2=None):
33 def add(self, text, meta, transaction, link, p1=None, p2=None):
35 if meta or text.startswith('\1\n'):
34 if meta or text.startswith('\1\n'):
36 mt = ["%s: %s\n" % (k, v) for k, v in sorted(meta.iteritems())]
35 mt = ["%s: %s\n" % (k, v) for k, v in sorted(meta.iteritems())]
@@ -40,7 +39,8 b' class filelog(revlog.revlog):'
40 def renamed(self, node):
39 def renamed(self, node):
41 if self.parents(node)[0] != revlog.nullid:
40 if self.parents(node)[0] != revlog.nullid:
42 return False
41 return False
43 m = self._readmeta(node)
42 t = self.revision(node)
43 m = _parsemeta(t)
44 if m and "copy" in m:
44 if m and "copy" in m:
45 return (m["copy"], revlog.bin(m["copyrev"]))
45 return (m["copy"], revlog.bin(m["copyrev"]))
46 return False
46 return False
General Comments 0
You need to be logged in to leave comments. Login now