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 | return index, nodemap, None |
|
315 | return index, nodemap, None | |
316 |
|
316 | |||
317 | def packentry(self, entry, node, version): |
|
317 | def packentry(self, entry, node, version, rev): | |
318 | e2 = (getoffset(entry[0]), entry[1], entry[3], entry[4], |
|
318 | e2 = (getoffset(entry[0]), entry[1], entry[3], entry[4], | |
319 | node(entry[5]), node(entry[6]), entry[7]) |
|
319 | node(entry[5]), node(entry[6]), entry[7]) | |
320 | return _pack(indexformatv0, *e2) |
|
320 | return _pack(indexformatv0, *e2) | |
@@ -388,9 +388,9 b' class revlogio(object):' | |||||
388 |
|
388 | |||
389 | return index, nodemap, cache |
|
389 | return index, nodemap, cache | |
390 |
|
390 | |||
391 | def packentry(self, entry, node, version): |
|
391 | def packentry(self, entry, node, version, rev): | |
392 | p = _pack(indexformatng, *entry) |
|
392 | p = _pack(indexformatng, *entry) | |
393 | if not entry[3] and not getoffset(entry[0]) and entry[5] == nullrev: |
|
393 | if rev == 0: | |
394 | p = _pack(versionformat, version) + p[4:] |
|
394 | p = _pack(versionformat, version) + p[4:] | |
395 | return p |
|
395 | return p | |
396 |
|
396 | |||
@@ -972,7 +972,7 b' class revlog(object):' | |||||
972 | self.version &= ~(REVLOGNGINLINEDATA) |
|
972 | self.version &= ~(REVLOGNGINLINEDATA) | |
973 | self._inline = False |
|
973 | self._inline = False | |
974 | for i in xrange(self.count()): |
|
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 | fp.write(e) |
|
976 | fp.write(e) | |
977 |
|
977 | |||
978 | # if we don't call rename, the temp file will never replace the |
|
978 | # if we don't call rename, the temp file will never replace the | |
@@ -1027,7 +1027,7 b' class revlog(object):' | |||||
1027 | self.index.insert(-1, e) |
|
1027 | self.index.insert(-1, e) | |
1028 | self.nodemap[node] = curr |
|
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 | if not self._inline: |
|
1031 | if not self._inline: | |
1032 | transaction.add(self.datafile, offset) |
|
1032 | transaction.add(self.datafile, offset) | |
1033 | transaction.add(self.indexfile, curr * len(entry)) |
|
1033 | transaction.add(self.indexfile, curr * len(entry)) | |
@@ -1179,7 +1179,7 b' class revlog(object):' | |||||
1179 | link, self.rev(p1), self.rev(p2), node) |
|
1179 | link, self.rev(p1), self.rev(p2), node) | |
1180 | self.index.insert(-1, e) |
|
1180 | self.index.insert(-1, e) | |
1181 | self.nodemap[node] = r |
|
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 | if self._inline: |
|
1183 | if self._inline: | |
1184 | ifh.write(entry) |
|
1184 | ifh.write(entry) | |
1185 | ifh.write(cdelta) |
|
1185 | ifh.write(cdelta) |
General Comments 0
You need to be logged in to leave comments.
Login now