Show More
@@ -0,0 +1,29 b'' | |||||
|
1 | Test correctness of revlog inline -> non-inline transition | |||
|
2 | ---------------------------------------------------------- | |||
|
3 | ||||
|
4 | Test offset computation to correctly factor in the index entries themselve. | |||
|
5 | Test repo has one small, one moderate and one big change. The clone has | |||
|
6 | the small and moderate change and will transition to non-inline storage when | |||
|
7 | adding the big change. | |||
|
8 | ||||
|
9 | $ hg init troffset-computation --config format.revlog-compression=none | |||
|
10 | $ cd troffset-computation | |||
|
11 | $ printf '% 20d' '1' > file | |||
|
12 | $ hg commit -Aqm_ | |||
|
13 | $ printf '% 1024d' '1' > file | |||
|
14 | $ hg commit -Aqm_ | |||
|
15 | $ dd if=/dev/zero of=file bs=1k count=128 > /dev/null 2>&1 | |||
|
16 | $ hg commit -Aqm_ | |||
|
17 | $ cd .. | |||
|
18 | ||||
|
19 | $ hg clone -r 1 troffset-computation troffset-computation-copy --config format.revlog-compression=none -q | |||
|
20 | $ cd troffset-computation-copy | |||
|
21 | $ cat > .hg/hgrc <<EOF | |||
|
22 | > [hooks] | |||
|
23 | > pretxnchangegroup = python:$TESTDIR/helper-killhook.py:killme | |||
|
24 | > EOF | |||
|
25 | $ hg pull ../troffset-computation | |||
|
26 | pulling from ../troffset-computation | |||
|
27 | [80] | |||
|
28 | $ cat .hg/store/journal | tr -s '\000' ' ' | grep data/file | tail -1 | |||
|
29 | data/file.i 128 |
@@ -2174,7 +2174,7 b' class revlog(object):' | |||||
2174 | with self._indexfp() as read_ifh: |
|
2174 | with self._indexfp() as read_ifh: | |
2175 | for r in self: |
|
2175 | for r in self: | |
2176 | new_dfh.write(self._getsegmentforrevs(r, r, df=read_ifh)[1]) |
|
2176 | new_dfh.write(self._getsegmentforrevs(r, r, df=read_ifh)[1]) | |
2177 | if troffset <= self.start(r): |
|
2177 | if troffset <= self.start(r) + r * self.index.entry_size: | |
2178 | trindex = r |
|
2178 | trindex = r | |
2179 | new_dfh.flush() |
|
2179 | new_dfh.flush() | |
2180 |
|
2180 |
General Comments 0
You need to be logged in to leave comments.
Login now