equal
deleted
inserted
replaced
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) |