annotate tests/test-revlog-delta-find.t @ 49764:e300f445ca77

delta-find: add a test checking various simple behavior There are enough work happening in this area that it is worth having a dedicated test for it. So far we add to small test checking that the "best" parent is picked as the delta base and that this behavior can be controlled during commit and unbundle.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 05 Dec 2022 03:23:46 +0100
parents
children f1887500f3ec
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
49764
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1 ==========================================================
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
2 Test various things around delta computation within revlog
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
3 ==========================================================
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
4
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
5
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
6 basic setup
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
7 -----------
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
8
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
9 $ cat << EOF >> $HGRCPATH
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
10 > [debug]
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
11 > revlog.debug-delta=yes
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
12 > EOF
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
13 $ cat << EOF >> sha256line.py
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
14 > # a way to quickly produce file of significant size and poorly compressable content.
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
15 > import hashlib
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
16 > import sys
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
17 > for line in sys.stdin:
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
18 > print(hashlib.sha256(line.encode('utf8')).hexdigest())
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
19 > EOF
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
20
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
21 $ hg init base-repo
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
22 $ cd base-repo
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
23
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
24 create a "large" file
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
25
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
26 $ $TESTDIR/seq.py 1000 | $PYTHON $TESTTMP/sha256line.py > my-file.txt
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
27 $ hg add my-file.txt
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
28 $ hg commit -m initial-commit
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
29 DBG-DELTAS: FILELOG:my-file.txt: rev=0: delta-base=0 * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
30 DBG-DELTAS: MANIFESTLOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
31 DBG-DELTAS: CHANGELOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
32
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
33 Add more change at the end of the file
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
34
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
35 $ $TESTDIR/seq.py 1001 1200 | $PYTHON $TESTTMP/sha256line.py >> my-file.txt
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
36 $ hg commit -m "large-change"
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
37 DBG-DELTAS: FILELOG:my-file.txt: rev=1: delta-base=0 * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
38 DBG-DELTAS: MANIFESTLOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
39 DBG-DELTAS: CHANGELOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
40
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
41 Add small change at the start
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
42
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
43 $ hg up 'desc("initial-commit")' --quiet
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
44 $ mv my-file.txt foo
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
45 $ echo "small change at the start" > my-file.txt
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
46 $ cat foo >> my-file.txt
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
47 $ rm foo
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
48 $ hg commit -m "small-change"
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
49 DBG-DELTAS: FILELOG:my-file.txt: rev=2: delta-base=0 * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
50 DBG-DELTAS: MANIFESTLOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
51 DBG-DELTAS: CHANGELOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
52 created new head
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
53
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
54
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
55 $ hg log -r 'head()' -T '{node}\n' >> ../base-heads.nodes
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
56 $ hg log -r 'desc("initial-commit")' -T '{node}\n' >> ../initial.node
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
57 $ hg log -r 'desc("small-change")' -T '{node}\n' >> ../small.node
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
58 $ hg log -r 'desc("large-change")' -T '{node}\n' >> ../large.node
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
59 $ cd ..
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
60
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
61 Check delta find policy and result for merge on commit
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
62 ======================================================
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
63
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
64 Check that delta of merge pick best of the two parents
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
65 ------------------------------------------------------
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
66
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
67 As we check against both parents, the one with the largest change should
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
68 produce the smallest delta and be picked.
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
69
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
70 $ hg clone base-repo test-parents --quiet
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
71 $ hg -R test-parents update 'nodefromfile("small.node")' --quiet
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
72 $ hg -R test-parents merge 'nodefromfile("large.node")' --quiet
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
73
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
74 The delta base is the "large" revision as it produce a smaller delta.
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
75
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
76 $ hg -R test-parents commit -m "merge from small change"
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
77 DBG-DELTAS: FILELOG:my-file.txt: rev=3: delta-base=1 * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
78 DBG-DELTAS: MANIFESTLOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
79 DBG-DELTAS: CHANGELOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
80
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
81 Check that the behavior tested above can we disabled
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
82 ----------------------------------------------------
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
83
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
84 We disable the checking of both parent at the same time. The `small` change,
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
85 that produce a less optimal delta, should be picked first as it is "closer" to
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
86 the new commit.
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
87
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
88 $ hg clone base-repo test-no-parents --quiet
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
89 $ hg -R test-no-parents update 'nodefromfile("small.node")' --quiet
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
90 $ hg -R test-no-parents merge 'nodefromfile("large.node")' --quiet
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
91
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
92 The delta base is the "large" revision as it produce a smaller delta.
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
93
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
94 $ hg -R test-no-parents commit -m "merge from small change" \
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
95 > --config storage.revlog.optimize-delta-parent-choice=no
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
96 DBG-DELTAS: FILELOG:my-file.txt: rev=3: delta-base=2 * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
97 DBG-DELTAS: MANIFESTLOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
98 DBG-DELTAS: CHANGELOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
99
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
100
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
101 Check delta-find policy and result when unbundling
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
102 ==================================================
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
103
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
104 Build a bundle with all delta built against p1
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
105
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
106 $ hg bundle -R test-parents --all --config devel.bundle.delta=p1 all-p1.hg
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
107 4 changesets found
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
108
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
109 Default policy of trusting delta from the bundle
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
110 ------------------------------------------------
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
111
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
112 Keeping the `p1` delta used in the bundle is sub-optimal for storage, but
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
113 strusting in-bundle delta is faster to apply.
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
114
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
115 $ hg init bundle-default
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
116 $ hg -R bundle-default unbundle all-p1.hg --quiet
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
117 DBG-DELTAS: CHANGELOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
118 DBG-DELTAS: CHANGELOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
119 DBG-DELTAS: CHANGELOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
120 DBG-DELTAS: CHANGELOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
121 DBG-DELTAS: MANIFESTLOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
122 DBG-DELTAS: MANIFESTLOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
123 DBG-DELTAS: MANIFESTLOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
124 DBG-DELTAS: MANIFESTLOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
125 DBG-DELTAS: FILELOG:my-file.txt: rev=0: delta-base=0 * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
126 DBG-DELTAS: FILELOG:my-file.txt: rev=1: delta-base=0 * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
127 DBG-DELTAS: FILELOG:my-file.txt: rev=2: delta-base=0 * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
128 DBG-DELTAS: FILELOG:my-file.txt: rev=3: delta-base=2 * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
129
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
130 (confirm the file revision are in the same order, 2 should be smaller than 1)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
131
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
132 $ hg -R bundle-default debugdata my-file.txt 2 | wc -l
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
133 \s*1001 (re)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
134 $ hg -R bundle-default debugdata my-file.txt 1 | wc -l
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
135 \s*1200 (re)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
136
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
137 explicitly enabled
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
138 ------------------
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
139
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
140 Keeping the `p1` delta used in the bundle is sub-optimal for storage, but
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
141 strusting in-bundle delta is faster to apply.
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
142
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
143 $ hg init bundle-reuse-enabled
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
144 $ hg -R bundle-reuse-enabled unbundle all-p1.hg --quiet \
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
145 > --config storage.revlog.reuse-external-delta-parent=yes
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
146 DBG-DELTAS: CHANGELOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
147 DBG-DELTAS: CHANGELOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
148 DBG-DELTAS: CHANGELOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
149 DBG-DELTAS: CHANGELOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
150 DBG-DELTAS: MANIFESTLOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
151 DBG-DELTAS: MANIFESTLOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
152 DBG-DELTAS: MANIFESTLOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
153 DBG-DELTAS: MANIFESTLOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
154 DBG-DELTAS: FILELOG:my-file.txt: rev=0: delta-base=0 * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
155 DBG-DELTAS: FILELOG:my-file.txt: rev=1: delta-base=0 * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
156 DBG-DELTAS: FILELOG:my-file.txt: rev=2: delta-base=0 * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
157 DBG-DELTAS: FILELOG:my-file.txt: rev=3: delta-base=2 * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
158
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
159 (confirm the file revision are in the same order, 2 should be smaller than 1)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
160
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
161 $ hg -R bundle-reuse-enabled debugdata my-file.txt 2 | wc -l
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
162 \s*1001 (re)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
163 $ hg -R bundle-reuse-enabled debugdata my-file.txt 1 | wc -l
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
164 \s*1200 (re)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
165
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
166 explicitly disabled
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
167 -------------------
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
168
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
169 Not reusing the delta-base from the parent means we the delta will be made
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
170 against the "best" parent. (so not the same as the previous two)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
171
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
172 $ hg init bundle-reuse-disabled
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
173 $ hg -R bundle-reuse-disabled unbundle all-p1.hg --quiet \
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
174 > --config storage.revlog.reuse-external-delta-parent=no
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
175 DBG-DELTAS: CHANGELOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
176 DBG-DELTAS: CHANGELOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
177 DBG-DELTAS: CHANGELOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
178 DBG-DELTAS: CHANGELOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
179 DBG-DELTAS: MANIFESTLOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
180 DBG-DELTAS: MANIFESTLOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
181 DBG-DELTAS: MANIFESTLOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
182 DBG-DELTAS: MANIFESTLOG: * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
183 DBG-DELTAS: FILELOG:my-file.txt: rev=0: delta-base=0 * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
184 DBG-DELTAS: FILELOG:my-file.txt: rev=1: delta-base=0 * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
185 DBG-DELTAS: FILELOG:my-file.txt: rev=2: delta-base=0 * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
186 DBG-DELTAS: FILELOG:my-file.txt: rev=3: delta-base=1 * (glob)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
187
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
188 (confirm the file revision are in the same order, 2 should be smaller than 1)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
189
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
190 $ hg -R bundle-reuse-disabled debugdata my-file.txt 2 | wc -l
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
191 \s*1001 (re)
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
192 $ hg -R bundle-reuse-disabled debugdata my-file.txt 1 | wc -l
e300f445ca77 delta-find: add a test checking various simple behavior
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
193 \s*1200 (re)