Show More
@@ -0,0 +1,14 b'' | |||
|
1 | #!/bin/sh | |
|
2 | ||
|
3 | hg init repo | |
|
4 | cd repo | |
|
5 | ||
|
6 | touch foo | |
|
7 | hg ci -Am 'add foo' | |
|
8 | ||
|
9 | hg up -C null | |
|
10 | # this should be stored as a delta against rev 0 | |
|
11 | echo foo bar baz > foo | |
|
12 | hg ci -Am 'add foo again' | |
|
13 | ||
|
14 | hg debugindex .hg/store/data/foo.i |
@@ -0,0 +1,6 b'' | |||
|
1 | adding foo | |
|
2 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
|
3 | adding foo | |
|
4 | rev offset length base linkrev nodeid p1 p2 | |
|
5 | 0 0 0 0 0 b80de5d13875 000000000000 000000000000 | |
|
6 | 1 0 24 0 1 0376abec49b8 000000000000 000000000000 |
@@ -314,7 +314,7 b' class revlogoldio(object):' | |||
|
314 | 314 | |
|
315 | 315 | return index, nodemap, None |
|
316 | 316 | |
|
317 | def packentry(self, entry, node, version): | |
|
317 | def packentry(self, entry, node, version, rev): | |
|
318 | 318 | e2 = (getoffset(entry[0]), entry[1], entry[3], entry[4], |
|
319 | 319 | node(entry[5]), node(entry[6]), entry[7]) |
|
320 | 320 | return _pack(indexformatv0, *e2) |
@@ -388,9 +388,9 b' class revlogio(object):' | |||
|
388 | 388 | |
|
389 | 389 | return index, nodemap, cache |
|
390 | 390 | |
|
391 | def packentry(self, entry, node, version): | |
|
391 | def packentry(self, entry, node, version, rev): | |
|
392 | 392 | p = _pack(indexformatng, *entry) |
|
393 | if not entry[3] and not getoffset(entry[0]) and entry[5] == nullrev: | |
|
393 | if rev == 0: | |
|
394 | 394 | p = _pack(versionformat, version) + p[4:] |
|
395 | 395 | return p |
|
396 | 396 | |
@@ -972,7 +972,7 b' class revlog(object):' | |||
|
972 | 972 | self.version &= ~(REVLOGNGINLINEDATA) |
|
973 | 973 | self._inline = False |
|
974 | 974 | for i in xrange(self.count()): |
|
975 | e = self._io.packentry(self.index[i], self.node, self.version) | |
|
975 | e = self._io.packentry(self.index[i], self.node, self.version, i) | |
|
976 | 976 | fp.write(e) |
|
977 | 977 | |
|
978 | 978 | # if we don't call rename, the temp file will never replace the |
@@ -1027,7 +1027,7 b' class revlog(object):' | |||
|
1027 | 1027 | self.index.insert(-1, e) |
|
1028 | 1028 | self.nodemap[node] = curr |
|
1029 | 1029 | |
|
1030 | entry = self._io.packentry(e, self.node, self.version) | |
|
1030 | entry = self._io.packentry(e, self.node, self.version, curr) | |
|
1031 | 1031 | if not self._inline: |
|
1032 | 1032 | transaction.add(self.datafile, offset) |
|
1033 | 1033 | transaction.add(self.indexfile, curr * len(entry)) |
@@ -1179,7 +1179,7 b' class revlog(object):' | |||
|
1179 | 1179 | link, self.rev(p1), self.rev(p2), node) |
|
1180 | 1180 | self.index.insert(-1, e) |
|
1181 | 1181 | self.nodemap[node] = r |
|
1182 | entry = self._io.packentry(e, self.node, self.version) | |
|
1182 | entry = self._io.packentry(e, self.node, self.version, r) | |
|
1183 | 1183 | if self._inline: |
|
1184 | 1184 | ifh.write(entry) |
|
1185 | 1185 | ifh.write(cdelta) |
General Comments 0
You need to be logged in to leave comments.
Login now