comparison mercurial/filelog.py @ 22422:75bb7c702317

filelog: parsemeta stops returning unused key list Currently, only the returned meta dictionary is used. An upcoming change will use the returned text offset.
author Mike Edgar <adgar@google.com>
date Tue, 02 Sep 2014 14:42:30 -0400
parents 30a610424eff
children 27e2317efe89
comparison
equal deleted inserted replaced
22421:30a610424eff 22422:75bb7c702317
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
17 s = _mdre.search(text, 2).start() 17 s = _mdre.search(text, 2).start()
18 mtext = text[2:s] 18 mtext = text[2:s]
19 meta = {} 19 meta = {}
20 keys = []
21 for l in mtext.splitlines(): 20 for l in mtext.splitlines():
22 k, v = l.split(": ", 1) 21 k, v = l.split(": ", 1)
23 meta[k] = v 22 meta[k] = v
24 keys.append(k) 23 return meta, (s + 2)
25 return meta, keys, (s + 2)
26 24
27 def packmeta(meta, text): 25 def packmeta(meta, text):
28 keys = sorted(meta.iterkeys()) 26 keys = sorted(meta.iterkeys())
29 metatext = "".join("%s: %s\n" % (k, meta[k]) for k in keys) 27 metatext = "".join("%s: %s\n" % (k, meta[k]) for k in keys)
30 return "\1\n%s\1\n%s" % (metatext, text) 28 return "\1\n%s\1\n%s" % (metatext, text)