mercurial/changelog.py
changeset 8209 a1a5a57efe90
parent 7948 de377b1a9a84
child 8225 46293a0c7e9f
equal deleted inserted replaced
8208:32a2a1e244f1 8209:a1a5a57efe90
   153                 extra[k] = v
   153                 extra[k] = v
   154         return extra
   154         return extra
   155 
   155 
   156     def encode_extra(self, d):
   156     def encode_extra(self, d):
   157         # keys must be sorted to produce a deterministic changelog entry
   157         # keys must be sorted to produce a deterministic changelog entry
   158         items = [_string_escape('%s:%s' % (k, d[k])) for k in util.sort(d)]
   158         items = [_string_escape('%s:%s' % (k, d[k])) for k in sorted(d)]
   159         return "\0".join(items)
   159         return "\0".join(items)
   160 
   160 
   161     def read(self, node):
   161     def read(self, node):
   162         """
   162         """
   163         format used:
   163         format used:
   214         if extra and extra.get("branch") in ("default", ""):
   214         if extra and extra.get("branch") in ("default", ""):
   215             del extra["branch"]
   215             del extra["branch"]
   216         if extra:
   216         if extra:
   217             extra = self.encode_extra(extra)
   217             extra = self.encode_extra(extra)
   218             parseddate = "%s %s" % (parseddate, extra)
   218             parseddate = "%s %s" % (parseddate, extra)
   219         l = [hex(manifest), user, parseddate] + util.sort(files) + ["", desc]
   219         l = [hex(manifest), user, parseddate] + sorted(files) + ["", desc]
   220         text = "\n".join(l)
   220         text = "\n".join(l)
   221         return self.addrevision(text, transaction, len(self), p1, p2)
   221         return self.addrevision(text, transaction, len(self), p1, p2)