##// END OF EJS Templates
filelog: add metadata support...
mpm@selenic.com -
r360:10519e4c default
parent child Browse files
Show More
@@ -34,8 +34,29 b' class filelog(revlog):'
34 34 os.path.join("data", path + ".d"))
35 35
36 36 def read(self, node):
37 return self.revision(node)
38 def add(self, text, transaction, link, p1=None, p2=None):
37 t = self.revision(node)
38 if t[:2] != '\1\n':
39 return t
40 s = t.find('\1\n', 2)
41 return t[s+2:]
42
43 def readmeta(self, node):
44 t = self.revision(node)
45 if t[:2] != '\1\n':
46 return t
47 s = t.find('\1\n', 2)
48 mt = t[2:s]
49 for l in mt.splitlines():
50 k, v = l.split(": ", 1)
51 m[k] = v
52 return m
53
54 def add(self, text, meta, transaction, link, p1=None, p2=None):
55 if meta or text[:2] == '\1\n':
56 mt = ""
57 if meta:
58 mt = [ "%s: %s\n" % (k, v) for k,v in meta.items() ]
59 text = "\1\n" + "".join(mt) + "\1\n" + text
39 60 return self.addrevision(text, transaction, link, p1, p2)
40 61
41 62 def annotate(self, node):
@@ -475,7 +496,7 b' class localrepository:'
475 496 tm = is_exec(self.wjoin(f))
476 497 r = self.file(f)
477 498 mfm[f] = tm
478 mm[f] = r.add(t, tr, linkrev,
499 mm[f] = r.add(t, {}, tr, linkrev,
479 500 m1.get(f, nullid), m2.get(f, nullid))
480 501 self.dirstate.update([f], "n")
481 502 except IOError:
@@ -538,7 +559,7 b' class localrepository:'
538 559 r = self.file(f)
539 560 fp1 = m1.get(f, nullid)
540 561 fp2 = m2.get(f, nullid)
541 new[f] = r.add(t, tr, linkrev, fp1, fp2)
562 new[f] = r.add(t, {}, tr, linkrev, fp1, fp2)
542 563
543 564 # update manifest
544 565 m1.update(new)
General Comments 0
You need to be logged in to leave comments. Login now