Mercurial > hg
annotate tests/test-strip-branch-cache.t @ 51961:a9b1acca2b14 stable
relnotes: skip the test if the source repository is not readable
The test want to run the relnot extension, with the tested mercurial, on the
original repository. This is not always possible (e.g. when running with --pure
and the repository use zstd for example). So we skip the test in this case.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 08 Oct 2024 15:54:59 +0200 |
parents | 82c1a388e86a |
children |
rev | line source |
---|---|
51492
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
1 This test cover a bug that no longer exist. |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
2 |
49071
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
3 Define helpers. |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
4 |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
5 $ hg_log () { hg log -G -T "{rev}:{node|short}"; } |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
6 $ commit () { echo "foo - ${2:-$1}" > $1; hg commit -Aqm "Edited $1"; } |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
7 $ strip() { hg --config extensions.strip= strip -q -r "$1" ; } |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
8 |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
9 Setup hg repo. |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
10 |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
11 $ hg init repo |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
12 $ cd repo |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
13 $ touch x; hg add x; hg commit -m "initial" |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
14 $ hg clone -q . ../clone |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
15 $ commit a |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
16 |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
17 $ cd ../clone |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
18 |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
19 $ commit b |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
20 |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
21 $ hg pull -q ../repo |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
22 |
51492
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
23 $ ls -1 .hg/cache/branch?* |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
24 .hg/cache/branch2-base |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
25 .hg/cache/branch2-served |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
26 $ cat .hg/cache/branch?-served |
49071
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
27 222ae9789a75703f9836e44de7db179cbfd420ee 2 |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
28 a3498d6e39376d2456425dd8c692367bdbf00fa2 o default |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
29 222ae9789a75703f9836e44de7db179cbfd420ee o default |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
30 |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
31 $ hg_log |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
32 o 2:222ae9789a75 |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
33 | |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
34 | @ 1:a3498d6e3937 |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
35 |/ |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
36 o 0:7ab0a3bd758a |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
37 |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
38 |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
39 $ strip '1:' |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
40 |
51492
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
41 After the strip the "served" cache is now identical to the "base" one, and the |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
42 older one have been actively deleted. |
49071
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
43 |
51492
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
44 $ ls -1 .hg/cache/branch?* |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
45 .hg/cache/branch2-base |
51493
82c1a388e86a
branchcache: explicitly track inheritence "state"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
51492
diff
changeset
|
46 $ cat .hg/cache/branch?-base |
82c1a388e86a
branchcache: explicitly track inheritence "state"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
51492
diff
changeset
|
47 7ab0a3bd758a58b9f79557ce708533e627776cce 0 |
82c1a388e86a
branchcache: explicitly track inheritence "state"
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
51492
diff
changeset
|
48 7ab0a3bd758a58b9f79557ce708533e627776cce o default |
49071
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
49 |
51492
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
50 We do a new commit and we get a new valid branchmap for the served version |
49071
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
51 |
51492
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
52 $ commit c |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
53 $ ls -1 .hg/cache/branch?* |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
54 .hg/cache/branch2-base |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
55 .hg/cache/branch2-served |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
56 $ cat .hg/cache/branch?-served |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
57 a1602b357cfca067600406eb19060c7128804d72 1 |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
58 a1602b357cfca067600406eb19060c7128804d72 o default |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
59 |
49071
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
60 |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
61 On pull we end up with the same tip, and so wrongly reuse the invalid cache and crash. |
9caf23927d04
branchmap: add a test that shows bad interaction with strip
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff
changeset
|
62 |
51492
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
63 $ hg pull ../repo --quiet |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
64 $ hg heads -T '{rev} {node} {branch}\n' |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
65 2 222ae9789a75703f9836e44de7db179cbfd420ee default |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
66 1 a1602b357cfca067600406eb19060c7128804d72 default |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
67 $ ls -1 .hg/cache/branch?* |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
68 .hg/cache/branch2-base |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
69 .hg/cache/branch2-served |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
70 $ cat .hg/cache/branch?-served |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
71 222ae9789a75703f9836e44de7db179cbfd420ee 2 |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
72 a1602b357cfca067600406eb19060c7128804d72 o default |
2e8a88e5809f
branchcache: stop writing more branchcache file on disk than needed
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49071
diff
changeset
|
73 222ae9789a75703f9836e44de7db179cbfd420ee o default |