annotate tests/test-persistent-nodemap-stream-clone.t @ 50995:80c243eab724

openvms: duck-punch a bugfix into `environb` object The official Python3 build for OpenVMS has some crippling bug that we need to patch dynamically OpenVMS patches
author Jean-Francois Pieronne <jf.pieronne@laposte.net>
date Thu, 03 Aug 2023 02:28:52 +0200
parents 7e5be4a7cda7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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