Mercurial > public > mercurial-scm > hg
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) |