author | Georges Racinet <georges.racinet@octobus.net> |
Fri, 20 Oct 2023 08:17:00 +0200 | |
changeset 51226 | 83091c14058c |
parent 50725 | 7e5be4a7cda7 |
permissions | -rw-r--r-- |
50708
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
1 |
======================================================= |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
2 |
Test the persistent on-disk nodemap during stream-clone |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
3 |
======================================================= |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
4 |
|
50709
517fcefe8a39
stream-clone: add a stream-v3 variant of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50708
diff
changeset
|
5 |
#testcases stream-v2 stream-v3 |
517fcefe8a39
stream-clone: add a stream-v3 variant of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50708
diff
changeset
|
6 |
|
517fcefe8a39
stream-clone: add a stream-v3 variant of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50708
diff
changeset
|
7 |
#if stream-v3 |
517fcefe8a39
stream-clone: add a stream-v3 variant of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50708
diff
changeset
|
8 |
$ cat << EOF >> $HGRCPATH |
517fcefe8a39
stream-clone: add a stream-v3 variant of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50708
diff
changeset
|
9 |
> [experimental] |
517fcefe8a39
stream-clone: add a stream-v3 variant of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50708
diff
changeset
|
10 |
> stream-v3=yes |
517fcefe8a39
stream-clone: add a stream-v3 variant of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50708
diff
changeset
|
11 |
> EOF |
517fcefe8a39
stream-clone: add a stream-v3 variant of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50708
diff
changeset
|
12 |
#endif |
517fcefe8a39
stream-clone: add a stream-v3 variant of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50708
diff
changeset
|
13 |
|
50708
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
14 |
Setup |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
15 |
===== |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
16 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
17 |
#if no-rust |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
18 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
19 |
$ cat << EOF >> $HGRCPATH |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
20 |
> [format] |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
21 |
> use-persistent-nodemap=yes |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
22 |
> [devel] |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
23 |
> persistent-nodemap=yes |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
24 |
> [storage] |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
25 |
> # to avoid spamming the test |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
26 |
> revlog.persistent-nodemap.slow-path=allow |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
27 |
> EOF |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
28 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
29 |
#endif |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
30 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
31 |
Recreate the same repo as in `test-persistent-nodemap.t` |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
32 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
33 |
$ hg init test-repo --config storage.revlog.persistent-nodemap.slow-path=allow |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
34 |
$ hg -R test-repo debugbuilddag .+5000 --new-file |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
35 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
36 |
stream clone |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
37 |
============ |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
38 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
39 |
The persistent nodemap should exist after a streaming clone |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
40 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
41 |
Simple case |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
42 |
----------- |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
43 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
44 |
No race condition |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
45 |
|
50725
7e5be4a7cda7
tests: use grep -E instead of obsolescent egrep
Mads Kiilerich <mads@kiilerich.com>
parents:
50709
diff
changeset
|
46 |
$ hg clone -U --stream ssh://user@dummy/test-repo stream-clone --debug | grep -E '00(changelog|manifest)' |
50708
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
47 |
adding [s] 00manifest.n (62 bytes) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
48 |
adding [s] 00manifest-*.nd (118 KB) (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
49 |
adding [s] 00manifest.d (4?? KB) (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
50 |
adding [s] 00manifest.i (313 KB) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
51 |
adding [s] 00changelog.n (62 bytes) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
52 |
adding [s] 00changelog-*.nd (118 KB) (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
53 |
adding [s] 00changelog.d (3?? KB) (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
54 |
adding [s] 00changelog.i (313 KB) |
50725
7e5be4a7cda7
tests: use grep -E instead of obsolescent egrep
Mads Kiilerich <mads@kiilerich.com>
parents:
50709
diff
changeset
|
55 |
$ ls -1 stream-clone/.hg/store/ | grep -E '00(changelog|manifest)(\.n|-.*\.nd)' |
50708
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
56 |
00changelog-*.nd (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
57 |
00changelog.n |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
58 |
00manifest-*.nd (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
59 |
00manifest.n |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
60 |
$ hg -R stream-clone debugnodemap --metadata |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
61 |
uid: * (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
62 |
tip-rev: 5000 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
63 |
tip-node: 6b02b8c7b96654c25e86ba69eda198d7e6ad8b3c |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
64 |
data-length: 121088 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
65 |
data-unused: 0 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
66 |
data-unused: 0.000% |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
67 |
$ hg verify -R stream-clone |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
68 |
checking changesets |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
69 |
checking manifests |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
70 |
crosschecking files in changesets and manifests |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
71 |
checking files |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
72 |
checking dirstate |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
73 |
checked 5001 changesets with 5001 changes to 5001 files |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
74 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
75 |
new data appened |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
76 |
----------------- |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
77 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
78 |
Other commit happening on the server during the stream clone |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
79 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
80 |
setup the step-by-step stream cloning |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
81 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
82 |
$ HG_TEST_STREAM_WALKED_FILE_1="$TESTTMP/sync_file_walked_1" |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
83 |
$ export HG_TEST_STREAM_WALKED_FILE_1 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
84 |
$ HG_TEST_STREAM_WALKED_FILE_2="$TESTTMP/sync_file_walked_2" |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
85 |
$ export HG_TEST_STREAM_WALKED_FILE_2 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
86 |
$ HG_TEST_STREAM_WALKED_FILE_3="$TESTTMP/sync_file_walked_3" |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
87 |
$ export HG_TEST_STREAM_WALKED_FILE_3 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
88 |
$ cat << EOF >> test-repo/.hg/hgrc |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
89 |
> [extensions] |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
90 |
> steps=$RUNTESTDIR/testlib/ext-stream-clone-steps.py |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
91 |
> EOF |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
92 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
93 |
Check and record file state beforehand |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
94 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
95 |
$ f --size test-repo/.hg/store/00changelog* |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
96 |
test-repo/.hg/store/00changelog-*.nd: size=121088 (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
97 |
test-repo/.hg/store/00changelog.d: size=3????? (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
98 |
test-repo/.hg/store/00changelog.i: size=320064 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
99 |
test-repo/.hg/store/00changelog.n: size=62 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
100 |
$ hg -R test-repo debugnodemap --metadata | tee server-metadata.txt |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
101 |
uid: * (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
102 |
tip-rev: 5000 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
103 |
tip-node: 6b02b8c7b96654c25e86ba69eda198d7e6ad8b3c |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
104 |
data-length: 121088 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
105 |
data-unused: 0 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
106 |
data-unused: 0.000% |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
107 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
108 |
Prepare a commit |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
109 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
110 |
$ echo foo >> test-repo/foo |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
111 |
$ hg -R test-repo/ add test-repo/foo |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
112 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
113 |
Do a mix of clone and commit at the same time so that the file listed on disk differ at actual transfer time. |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
114 |
|
50725
7e5be4a7cda7
tests: use grep -E instead of obsolescent egrep
Mads Kiilerich <mads@kiilerich.com>
parents:
50709
diff
changeset
|
115 |
$ (hg clone -U --stream ssh://user@dummy/test-repo stream-clone-race-1 --debug 2>> clone-output | grep -E '00(changelog|manifest)' >> clone-output; touch $HG_TEST_STREAM_WALKED_FILE_3) & |
50708
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
116 |
$ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_1 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
117 |
$ hg -R test-repo/ commit -m foo |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
118 |
created new head |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
119 |
$ touch $HG_TEST_STREAM_WALKED_FILE_2 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
120 |
$ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_3 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
121 |
$ cat clone-output |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
122 |
adding [s] 00manifest.n (62 bytes) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
123 |
adding [s] 00manifest-*.nd (118 KB) (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
124 |
adding [s] 00manifest.d (4?? KB) (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
125 |
adding [s] 00manifest.i (313 KB) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
126 |
adding [s] 00changelog.n (62 bytes) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
127 |
adding [s] 00changelog-*.nd (118 KB) (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
128 |
adding [s] 00changelog.d (36? KB) (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
129 |
adding [s] 00changelog.i (313 KB) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
130 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
131 |
Check the result state |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
132 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
133 |
$ f --size stream-clone-race-1/.hg/store/00changelog* |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
134 |
stream-clone-race-1/.hg/store/00changelog-*.nd: size=121088 (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
135 |
stream-clone-race-1/.hg/store/00changelog.d: size=3????? (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
136 |
stream-clone-race-1/.hg/store/00changelog.i: size=320064 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
137 |
stream-clone-race-1/.hg/store/00changelog.n: size=62 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
138 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
139 |
$ hg -R stream-clone-race-1 debugnodemap --metadata | tee client-metadata.txt |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
140 |
uid: * (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
141 |
tip-rev: 5000 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
142 |
tip-node: 6b02b8c7b96654c25e86ba69eda198d7e6ad8b3c |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
143 |
data-length: 121088 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
144 |
data-unused: 0 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
145 |
data-unused: 0.000% |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
146 |
$ hg verify -R stream-clone-race-1 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
147 |
checking changesets |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
148 |
checking manifests |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
149 |
crosschecking files in changesets and manifests |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
150 |
checking files |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
151 |
checking dirstate |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
152 |
checked 5001 changesets with 5001 changes to 5001 files |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
153 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
154 |
We get a usable nodemap, so no rewrite would be needed and the metadata should be identical |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
155 |
(ie: the following diff should be empty) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
156 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
157 |
This isn't the case for the `no-rust` `no-pure` implementation as it use a very minimal nodemap implementation that unconditionnaly rewrite the nodemap "all the time". |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
158 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
159 |
#if no-rust no-pure |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
160 |
$ diff -u server-metadata.txt client-metadata.txt |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
161 |
--- server-metadata.txt * (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
162 |
+++ client-metadata.txt * (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
163 |
@@ -1,4 +1,4 @@ |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
164 |
-uid: * (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
165 |
+uid: * (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
166 |
tip-rev: 5000 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
167 |
tip-node: 6b02b8c7b96654c25e86ba69eda198d7e6ad8b3c |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
168 |
data-length: 121088 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
169 |
[1] |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
170 |
#else |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
171 |
$ diff -u server-metadata.txt client-metadata.txt |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
172 |
#endif |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
173 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
174 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
175 |
Clean up after the test. |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
176 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
177 |
$ rm -f "$HG_TEST_STREAM_WALKED_FILE_1" |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
178 |
$ rm -f "$HG_TEST_STREAM_WALKED_FILE_2" |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
179 |
$ rm -f "$HG_TEST_STREAM_WALKED_FILE_3" |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
180 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
181 |
full regeneration |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
182 |
----------------- |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
183 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
184 |
A full nodemap is generated |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
185 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
186 |
(ideally this test would append enough data to make sure the nodemap data file |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
187 |
get changed, however to make thing simpler we will force the regeneration for |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
188 |
this test. |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
189 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
190 |
Check the initial state |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
191 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
192 |
$ f --size test-repo/.hg/store/00changelog* |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
193 |
test-repo/.hg/store/00changelog-*.nd: size=121??? (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
194 |
test-repo/.hg/store/00changelog.d: size=3????? (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
195 |
test-repo/.hg/store/00changelog.i: size=320128 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
196 |
test-repo/.hg/store/00changelog.n: size=62 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
197 |
$ hg -R test-repo debugnodemap --metadata | tee server-metadata-2.txt |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
198 |
uid: * (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
199 |
tip-rev: 5001 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
200 |
tip-node: e63c23eaa88ae77967edcf4ea194d31167c478b0 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
201 |
data-length: 121408 (pure !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
202 |
data-unused: 256 (pure !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
203 |
data-unused: 0.211% (pure !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
204 |
data-length: 121408 (rust !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
205 |
data-unused: 256 (rust !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
206 |
data-unused: 0.211% (rust !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
207 |
data-length: 121152 (no-pure no-rust !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
208 |
data-unused: 0 (no-pure no-rust !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
209 |
data-unused: 0.000% (no-pure no-rust !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
210 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
211 |
Performe the mix of clone and full refresh of the nodemap, so that the files |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
212 |
(and filenames) are different between listing time and actual transfer time. |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
213 |
|
50725
7e5be4a7cda7
tests: use grep -E instead of obsolescent egrep
Mads Kiilerich <mads@kiilerich.com>
parents:
50709
diff
changeset
|
214 |
$ (hg clone -U --stream ssh://user@dummy/test-repo stream-clone-race-2 --debug 2>> clone-output-2 | grep -E '00(changelog|manifest)' >> clone-output-2; touch $HG_TEST_STREAM_WALKED_FILE_3) & |
50708
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
215 |
$ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_1 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
216 |
$ rm test-repo/.hg/store/00changelog.n |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
217 |
$ rm test-repo/.hg/store/00changelog-*.nd |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
218 |
$ hg -R test-repo/ debugupdatecache |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
219 |
$ touch $HG_TEST_STREAM_WALKED_FILE_2 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
220 |
$ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_3 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
221 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
222 |
(note: the stream clone code wronly pick the `undo.` files) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
223 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
224 |
$ cat clone-output-2 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
225 |
adding [s] 00manifest.n (62 bytes) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
226 |
adding [s] 00manifest-*.nd (118 KB) (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
227 |
adding [s] 00manifest.d (4?? KB) (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
228 |
adding [s] 00manifest.i (313 KB) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
229 |
adding [s] 00changelog.n (62 bytes) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
230 |
adding [s] 00changelog-*.nd (11? KB) (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
231 |
adding [s] 00changelog.d (3?? KB) (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
232 |
adding [s] 00changelog.i (313 KB) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
233 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
234 |
Check the result. |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
235 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
236 |
$ f --size stream-clone-race-2/.hg/store/00changelog* |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
237 |
stream-clone-race-2/.hg/store/00changelog-*.nd: size=1????? (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
238 |
stream-clone-race-2/.hg/store/00changelog.d: size=3????? (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
239 |
stream-clone-race-2/.hg/store/00changelog.i: size=320128 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
240 |
stream-clone-race-2/.hg/store/00changelog.n: size=62 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
241 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
242 |
$ hg -R stream-clone-race-2 debugnodemap --metadata | tee client-metadata-2.txt |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
243 |
uid: * (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
244 |
tip-rev: 5001 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
245 |
tip-node: e63c23eaa88ae77967edcf4ea194d31167c478b0 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
246 |
data-length: 121408 (pure !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
247 |
data-unused: 256 (pure !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
248 |
data-unused: 0.211% (pure !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
249 |
data-length: 121408 (rust !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
250 |
data-unused: 256 (rust !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
251 |
data-unused: 0.211% (rust !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
252 |
data-length: 121152 (no-pure no-rust !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
253 |
data-unused: 0 (no-pure no-rust !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
254 |
data-unused: 0.000% (no-pure no-rust !) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
255 |
$ hg verify -R stream-clone-race-2 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
256 |
checking changesets |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
257 |
checking manifests |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
258 |
crosschecking files in changesets and manifests |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
259 |
checking files |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
260 |
checking dirstate |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
261 |
checked 5002 changesets with 5002 changes to 5002 files |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
262 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
263 |
We get a usable nodemap, so no rewrite would be needed and the metadata should be identical |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
264 |
(ie: the following diff should be empty) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
265 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
266 |
This isn't the case for the `no-rust` `no-pure` implementation as it use a very minimal nodemap implementation that unconditionnaly rewrite the nodemap "all the time". |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
267 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
268 |
#if no-rust no-pure |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
269 |
$ diff -u server-metadata-2.txt client-metadata-2.txt |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
270 |
--- server-metadata-2.txt * (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
271 |
+++ client-metadata-2.txt * (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
272 |
@@ -1,4 +1,4 @@ |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
273 |
-uid: * (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
274 |
+uid: * (glob) |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
275 |
tip-rev: 5001 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
276 |
tip-node: e63c23eaa88ae77967edcf4ea194d31167c478b0 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
277 |
data-length: 121152 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
278 |
[1] |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
279 |
#else |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
280 |
$ diff -u server-metadata-2.txt client-metadata-2.txt |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
281 |
#endif |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
282 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
283 |
Clean up after the test |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
284 |
|
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
285 |
$ rm -f $HG_TEST_STREAM_WALKED_FILE_1 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
286 |
$ rm -f $HG_TEST_STREAM_WALKED_FILE_2 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
287 |
$ rm -f $HG_TEST_STREAM_WALKED_FILE_3 |
999b710d48d2
stream-clone: split the stream part out of test-persistent-nodemap.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
288 |