Mercurial > hg
annotate tests/test-share.t @ 48598:a6f16ec07ed7
stream-clone: add a explicit test for format change during stream clone
They are different kind of requirements, the one which impact the data storage
and are relevant to the files being streamed and the one which does not. For
example some requirements are only relevant to the working copy, like sparse, or
dirstate-v2.
Since they are irrelevant to the content being streamed, they do not prevent the
receiving side to use streaming clone and mercurial skip adverting them over
the wire and, ideally, within the bundle.
In addition, this let the client decide to use whichever format it desire for
the part that does not affect the store itself. So the configuration related to
these format are used as normal when doing a streaming clone.
In practice, the feature was not really tested and is badly broken with bundle-2,
since the requirements are not filtered out from the stream bundle.
So we start with adding simple tests as a good base before the fix and adjust
the feature.
Differential Revision: https://phab.mercurial-scm.org/D12029
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 17 Jan 2022 18:51:47 +0100 |
parents | bf2738e03e96 |
children | 68b7faeb6ef3 |
rev | line source |
---|---|
45483
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45301
diff
changeset
|
1 #testcases safe normal |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45301
diff
changeset
|
2 |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45301
diff
changeset
|
3 #if safe |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45301
diff
changeset
|
4 $ echo "[format]" >> $HGRCPATH |
46334
4b0192f592cf
share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46314
diff
changeset
|
5 $ echo "use-share-safe = True" >> $HGRCPATH |
45483
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45301
diff
changeset
|
6 #endif |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
45301
diff
changeset
|
7 |
12487 | 8 $ echo "[extensions]" >> $HGRCPATH |
9 $ echo "share = " >> $HGRCPATH | |
10 | |
11 prepare repo1 | |
9990 | 12 |
12487 | 13 $ hg init repo1 |
14 $ cd repo1 | |
15 $ echo a > a | |
16 $ hg commit -A -m'init' | |
17 adding a | |
18 | |
19 share it | |
9990 | 20 |
12487 | 21 $ cd .. |
22 $ hg share repo1 repo2 | |
23 updating working directory | |
24 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
25 | |
26 share shouldn't have a store dir | |
27 | |
28 $ cd repo2 | |
29 $ test -d .hg/store | |
30 [1] | |
42419
69883775b27d
root: add template variables pointing to repository directories
Yuya Nishihara <yuya@tcha.org>
parents:
42313
diff
changeset
|
31 $ hg root -Tjson | sed 's|\\\\|\\|g' |
69883775b27d
root: add template variables pointing to repository directories
Yuya Nishihara <yuya@tcha.org>
parents:
42313
diff
changeset
|
32 [ |
69883775b27d
root: add template variables pointing to repository directories
Yuya Nishihara <yuya@tcha.org>
parents:
42313
diff
changeset
|
33 { |
69883775b27d
root: add template variables pointing to repository directories
Yuya Nishihara <yuya@tcha.org>
parents:
42313
diff
changeset
|
34 "hgpath": "$TESTTMP/repo2/.hg", |
69883775b27d
root: add template variables pointing to repository directories
Yuya Nishihara <yuya@tcha.org>
parents:
42313
diff
changeset
|
35 "reporoot": "$TESTTMP/repo2", |
69883775b27d
root: add template variables pointing to repository directories
Yuya Nishihara <yuya@tcha.org>
parents:
42313
diff
changeset
|
36 "storepath": "$TESTTMP/repo1/.hg/store" |
69883775b27d
root: add template variables pointing to repository directories
Yuya Nishihara <yuya@tcha.org>
parents:
42313
diff
changeset
|
37 } |
69883775b27d
root: add template variables pointing to repository directories
Yuya Nishihara <yuya@tcha.org>
parents:
42313
diff
changeset
|
38 ] |
9990 | 39 |
40670
bd0874977a5e
checkexec: create destination directory if necessary
Boris Feld <boris.feld@octobus.net>
parents:
39848
diff
changeset
|
40 share shouldn't have a full cache dir, original repo should |
33539
460733327640
share: share 'cachevfs' with the source clone (issue5108)
Boris Feld <boris.feld@octobus.net>
parents:
33212
diff
changeset
|
41 |
460733327640
share: share 'cachevfs' with the source clone (issue5108)
Boris Feld <boris.feld@octobus.net>
parents:
33212
diff
changeset
|
42 $ hg branches |
460733327640
share: share 'cachevfs' with the source clone (issue5108)
Boris Feld <boris.feld@octobus.net>
parents:
33212
diff
changeset
|
43 default 0:d3873e73d99e |
460733327640
share: share 'cachevfs' with the source clone (issue5108)
Boris Feld <boris.feld@octobus.net>
parents:
33212
diff
changeset
|
44 $ hg tags |
460733327640
share: share 'cachevfs' with the source clone (issue5108)
Boris Feld <boris.feld@octobus.net>
parents:
33212
diff
changeset
|
45 tip 0:d3873e73d99e |
40792
47e3f554df35
check-exec: write file in 'wcache' instead of 'cache'
Boris Feld <boris.feld@octobus.net>
parents:
40674
diff
changeset
|
46 $ test -d .hg/cache |
47e3f554df35
check-exec: write file in 'wcache' instead of 'cache'
Boris Feld <boris.feld@octobus.net>
parents:
40674
diff
changeset
|
47 [1] |
47e3f554df35
check-exec: write file in 'wcache' instead of 'cache'
Boris Feld <boris.feld@octobus.net>
parents:
40674
diff
changeset
|
48 $ ls -1 .hg/wcache || true |
40674
25b7c4cb5de1
tests: stabilize the recent checkexec changes on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
40670
diff
changeset
|
49 checkisexec (execbit !) |
48290
91f07430db8c
dirstate: use a single closure for get_flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47920
diff
changeset
|
50 checklink (symlink no-rust !) |
91f07430db8c
dirstate: use a single closure for get_flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47920
diff
changeset
|
51 checklink-target (symlink no-rust !) |
41965
e4ac7e63c213
manifestcache: use `wcache` directory for manifest cache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41891
diff
changeset
|
52 manifestfulltextcache (reporevlogstore !) |
33539
460733327640
share: share 'cachevfs' with the source clone (issue5108)
Boris Feld <boris.feld@octobus.net>
parents:
33212
diff
changeset
|
53 $ ls -1 ../repo1/.hg/cache |
460733327640
share: share 'cachevfs' with the source clone (issue5108)
Boris Feld <boris.feld@octobus.net>
parents:
33212
diff
changeset
|
54 branch2-served |
460733327640
share: share 'cachevfs' with the source clone (issue5108)
Boris Feld <boris.feld@octobus.net>
parents:
33212
diff
changeset
|
55 rbc-names-v1 |
460733327640
share: share 'cachevfs' with the source clone (issue5108)
Boris Feld <boris.feld@octobus.net>
parents:
33212
diff
changeset
|
56 rbc-revs-v1 |
460733327640
share: share 'cachevfs' with the source clone (issue5108)
Boris Feld <boris.feld@octobus.net>
parents:
33212
diff
changeset
|
57 tags2-visible |
460733327640
share: share 'cachevfs' with the source clone (issue5108)
Boris Feld <boris.feld@octobus.net>
parents:
33212
diff
changeset
|
58 |
46123
5b9bb4e9a3bf
share: properly copy cache files when cloning from a share
Joerg Sonnenberger <joerg@bec.de>
parents:
45906
diff
changeset
|
59 Cloning a shared repo should pick up the full cache dir on the other hand. |
5b9bb4e9a3bf
share: properly copy cache files when cloning from a share
Joerg Sonnenberger <joerg@bec.de>
parents:
45906
diff
changeset
|
60 |
5b9bb4e9a3bf
share: properly copy cache files when cloning from a share
Joerg Sonnenberger <joerg@bec.de>
parents:
45906
diff
changeset
|
61 $ hg clone . ../repo2-clone |
5b9bb4e9a3bf
share: properly copy cache files when cloning from a share
Joerg Sonnenberger <joerg@bec.de>
parents:
45906
diff
changeset
|
62 updating to branch default |
5b9bb4e9a3bf
share: properly copy cache files when cloning from a share
Joerg Sonnenberger <joerg@bec.de>
parents:
45906
diff
changeset
|
63 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
5b9bb4e9a3bf
share: properly copy cache files when cloning from a share
Joerg Sonnenberger <joerg@bec.de>
parents:
45906
diff
changeset
|
64 $ ls -1 ../repo2-clone/.hg/cache |
46314
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46123
diff
changeset
|
65 branch2-base |
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46123
diff
changeset
|
66 branch2-immutable |
46123
5b9bb4e9a3bf
share: properly copy cache files when cloning from a share
Joerg Sonnenberger <joerg@bec.de>
parents:
45906
diff
changeset
|
67 branch2-served |
46314
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46123
diff
changeset
|
68 branch2-served.hidden |
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46123
diff
changeset
|
69 branch2-visible |
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46123
diff
changeset
|
70 branch2-visible-hidden |
46123
5b9bb4e9a3bf
share: properly copy cache files when cloning from a share
Joerg Sonnenberger <joerg@bec.de>
parents:
45906
diff
changeset
|
71 rbc-names-v1 |
5b9bb4e9a3bf
share: properly copy cache files when cloning from a share
Joerg Sonnenberger <joerg@bec.de>
parents:
45906
diff
changeset
|
72 rbc-revs-v1 |
46314
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46123
diff
changeset
|
73 tags2 |
95a615dd77bf
clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46123
diff
changeset
|
74 tags2-served |
46123
5b9bb4e9a3bf
share: properly copy cache files when cloning from a share
Joerg Sonnenberger <joerg@bec.de>
parents:
45906
diff
changeset
|
75 tags2-visible |
5b9bb4e9a3bf
share: properly copy cache files when cloning from a share
Joerg Sonnenberger <joerg@bec.de>
parents:
45906
diff
changeset
|
76 |
12487 | 77 Some sed versions appends newline, some don't, and some just fails |
78 | |
79 $ cat .hg/sharedpath; echo | |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
33986
diff
changeset
|
80 $TESTTMP/repo1/.hg |
12487 | 81 |
15101
a21ccf4412d5
share: allow trailing newline on .hg/sharedpath.
Greg Ward <greg@gerg.ca>
parents:
15080
diff
changeset
|
82 trailing newline on .hg/sharedpath is ok |
a21ccf4412d5
share: allow trailing newline on .hg/sharedpath.
Greg Ward <greg@gerg.ca>
parents:
15080
diff
changeset
|
83 $ hg tip -q |
a21ccf4412d5
share: allow trailing newline on .hg/sharedpath.
Greg Ward <greg@gerg.ca>
parents:
15080
diff
changeset
|
84 0:d3873e73d99e |
a21ccf4412d5
share: allow trailing newline on .hg/sharedpath.
Greg Ward <greg@gerg.ca>
parents:
15080
diff
changeset
|
85 $ echo '' >> .hg/sharedpath |
a21ccf4412d5
share: allow trailing newline on .hg/sharedpath.
Greg Ward <greg@gerg.ca>
parents:
15080
diff
changeset
|
86 $ cat .hg/sharedpath |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
33986
diff
changeset
|
87 $TESTTMP/repo1/.hg |
15101
a21ccf4412d5
share: allow trailing newline on .hg/sharedpath.
Greg Ward <greg@gerg.ca>
parents:
15080
diff
changeset
|
88 $ hg tip -q |
a21ccf4412d5
share: allow trailing newline on .hg/sharedpath.
Greg Ward <greg@gerg.ca>
parents:
15080
diff
changeset
|
89 0:d3873e73d99e |
a21ccf4412d5
share: allow trailing newline on .hg/sharedpath.
Greg Ward <greg@gerg.ca>
parents:
15080
diff
changeset
|
90 |
12487 | 91 commit in shared clone |
92 | |
93 $ echo a >> a | |
94 $ hg commit -m'change in shared clone' | |
95 | |
96 check original | |
9990 | 97 |
12487 | 98 $ cd ../repo1 |
99 $ hg log | |
100 changeset: 1:8af4dc49db9e | |
101 tag: tip | |
102 user: test | |
103 date: Thu Jan 01 00:00:00 1970 +0000 | |
104 summary: change in shared clone | |
105 | |
106 changeset: 0:d3873e73d99e | |
107 user: test | |
108 date: Thu Jan 01 00:00:00 1970 +0000 | |
109 summary: init | |
110 | |
111 $ hg update | |
112 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
113 $ cat a # should be two lines of "a" | |
114 a | |
115 a | |
9990 | 116 |
12487 | 117 commit in original |
118 | |
119 $ echo b > b | |
120 $ hg commit -A -m'another file' | |
121 adding b | |
122 | |
123 check in shared clone | |
9990 | 124 |
12487 | 125 $ cd ../repo2 |
126 $ hg log | |
127 changeset: 2:c2e0ac586386 | |
128 tag: tip | |
129 user: test | |
130 date: Thu Jan 01 00:00:00 1970 +0000 | |
131 summary: another file | |
132 | |
133 changeset: 1:8af4dc49db9e | |
134 user: test | |
135 date: Thu Jan 01 00:00:00 1970 +0000 | |
136 summary: change in shared clone | |
137 | |
138 changeset: 0:d3873e73d99e | |
139 user: test | |
140 date: Thu Jan 01 00:00:00 1970 +0000 | |
141 summary: init | |
142 | |
143 $ hg update | |
144 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
145 $ cat b # should exist with one "b" | |
146 b | |
9990 | 147 |
12487 | 148 hg serve shared clone |
9990 | 149 |
12487 | 150 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid |
151 $ cat hg.pid >> $DAEMON_PIDS | |
25472
4d2b9b304ad0
tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents:
23614
diff
changeset
|
152 $ get-with-headers.py localhost:$HGPORT 'raw-file/' |
12487 | 153 200 Script output follows |
154 | |
155 | |
156 -rw-r--r-- 4 a | |
157 -rw-r--r-- 2 b | |
158 | |
159 | |
41792
2d835c42ab41
bundle2: don't send "shared" requirement when cloning from a share
mitchell plamann <mplamann@janestreet.com>
parents:
41791
diff
changeset
|
160 Cloning a shared repo via bundle2 results in a non-shared clone |
41791
a62ad1be1671
tests: demonstrate failure when cloning from a share via bundle2
mitchell plamann <mplamann@janestreet.com>
parents:
40807
diff
changeset
|
161 |
a62ad1be1671
tests: demonstrate failure when cloning from a share via bundle2
mitchell plamann <mplamann@janestreet.com>
parents:
40807
diff
changeset
|
162 $ cd .. |
47920
9c4204b7f3e4
tests: rely on dummyssh being the default
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
47183
diff
changeset
|
163 $ hg clone -q --stream ssh://user@dummy/`pwd`/repo2 cloned-via-bundle2 |
48464
5e6542143d40
test: use `hg debugrequires` instead of `cat` in some tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48290
diff
changeset
|
164 $ hg -R cloned-via-bundle2 debugrequires | grep "shared" |
41792
2d835c42ab41
bundle2: don't send "shared" requirement when cloning from a share
mitchell plamann <mplamann@janestreet.com>
parents:
41791
diff
changeset
|
165 [1] |
41791
a62ad1be1671
tests: demonstrate failure when cloning from a share via bundle2
mitchell plamann <mplamann@janestreet.com>
parents:
40807
diff
changeset
|
166 $ hg id --cwd cloned-via-bundle2 -r tip |
41792
2d835c42ab41
bundle2: don't send "shared" requirement when cloning from a share
mitchell plamann <mplamann@janestreet.com>
parents:
41791
diff
changeset
|
167 c2e0ac586386 tip |
41791
a62ad1be1671
tests: demonstrate failure when cloning from a share via bundle2
mitchell plamann <mplamann@janestreet.com>
parents:
40807
diff
changeset
|
168 $ cd repo2 |
15080
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
169 |
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
170 test unshare command |
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
171 |
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
172 $ hg unshare |
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
173 $ test -d .hg/store |
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
174 $ test -f .hg/sharedpath |
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
175 [1] |
31211
ecbd378d9a7e
share: fix typo to drop 'shared' requirement on unshare
Yuya Nishihara <yuya@tcha.org>
parents:
31133
diff
changeset
|
176 $ grep shared .hg/requires |
ecbd378d9a7e
share: fix typo to drop 'shared' requirement on unshare
Yuya Nishihara <yuya@tcha.org>
parents:
31133
diff
changeset
|
177 [1] |
15080
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
178 $ hg unshare |
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
179 abort: this is not a shared repo |
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
180 [255] |
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
181 |
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
182 check that a change does not propagate |
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
183 |
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
184 $ echo b >> b |
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
185 $ hg commit -m'change in unshared' |
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
186 $ cd ../repo1 |
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
187 $ hg id -r tip |
574dc5d74f9b
test: test unshare command
Simon Heimberg <simohe@besonet.ch>
parents:
12640
diff
changeset
|
188 c2e0ac586386 tip |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15447
diff
changeset
|
189 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15447
diff
changeset
|
190 $ cd .. |
17539
bc7377160fa7
tests: enable more server tests on Windows
Patrick Mezard <patrick@mezard.eu>
parents:
17017
diff
changeset
|
191 |
23548
141baca16059
share: implement shared bookmark functionality
Ryan McElroy <rmcelroy@fb.com>
parents:
22046
diff
changeset
|
192 |
31892
9e67ce5c4fd0
largefiles: set the extension as enabled locally after a share requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents:
31767
diff
changeset
|
193 non largefiles repos won't enable largefiles |
9e67ce5c4fd0
largefiles: set the extension as enabled locally after a share requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents:
31767
diff
changeset
|
194 |
42313
81ece800576a
tests: separate out bookmarks tests from test-share.t
Martin von Zweigbergk <martinvonz@google.com>
parents:
41965
diff
changeset
|
195 $ hg share --config extensions.largefiles= repo2 sharedrepo |
33212
fe0667cc521e
tests: add fsmonitor specific output lines at enabling largefiles
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
31892
diff
changeset
|
196 The fsmonitor extension is incompatible with the largefiles extension and has been disabled. (fsmonitor !) |
fe0667cc521e
tests: add fsmonitor specific output lines at enabling largefiles
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
31892
diff
changeset
|
197 The fsmonitor extension is incompatible with the largefiles extension and has been disabled. (fsmonitor !) |
31892
9e67ce5c4fd0
largefiles: set the extension as enabled locally after a share requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents:
31767
diff
changeset
|
198 updating working directory |
9e67ce5c4fd0
largefiles: set the extension as enabled locally after a share requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents:
31767
diff
changeset
|
199 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
9e67ce5c4fd0
largefiles: set the extension as enabled locally after a share requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents:
31767
diff
changeset
|
200 $ [ -f sharedrepo/.hg/hgrc ] |
9e67ce5c4fd0
largefiles: set the extension as enabled locally after a share requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents:
31767
diff
changeset
|
201 [1] |
9e67ce5c4fd0
largefiles: set the extension as enabled locally after a share requiring it
Matt Harbison <matt_harbison@yahoo.com>
parents:
31767
diff
changeset
|
202 |
31133
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
203 test shared clones using relative paths work |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
204 |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
205 $ mkdir thisdir |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
206 $ hg init thisdir/orig |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
207 $ hg share -U thisdir/orig thisdir/abs |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
208 $ hg share -U --relative thisdir/abs thisdir/rel |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
209 $ cat thisdir/rel/.hg/sharedpath |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
33986
diff
changeset
|
210 ../../orig/.hg (no-eol) |
31133
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
211 $ grep shared thisdir/*/.hg/requires |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
212 thisdir/abs/.hg/requires:shared |
39848
4ece3cdfd907
localrepo: support shared repo creation
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39696
diff
changeset
|
213 thisdir/rel/.hg/requires:relshared |
31133
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
214 thisdir/rel/.hg/requires:shared |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
215 |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
216 test that relative shared paths aren't relative to $PWD |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
217 |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
218 $ cd thisdir |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
219 $ hg -R rel root |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
33986
diff
changeset
|
220 $TESTTMP/thisdir/rel |
31133
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
221 $ cd .. |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
222 |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
223 now test that relative paths really are relative, survive across |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
224 renames and changes of PWD |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
225 |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
226 $ hg -R thisdir/abs root |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
33986
diff
changeset
|
227 $TESTTMP/thisdir/abs |
31133
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
228 $ hg -R thisdir/rel root |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
33986
diff
changeset
|
229 $TESTTMP/thisdir/rel |
31133
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
230 $ mv thisdir thatdir |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
231 $ hg -R thatdir/abs root |
45906
95c4cca641f6
errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents:
45483
diff
changeset
|
232 abort: .hg/sharedpath points to nonexistent directory $TESTTMP/thisdir/orig/.hg |
31133
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
233 [255] |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
234 $ hg -R thatdir/rel root |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
33986
diff
changeset
|
235 $TESTTMP/thatdir/rel |
31212
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
236 |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
237 test unshare relshared repo |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
238 |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
239 $ cd thatdir/rel |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
240 $ hg unshare |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
241 $ test -d .hg/store |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
242 $ test -f .hg/sharedpath |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
243 [1] |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
244 $ grep shared .hg/requires |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
245 [1] |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
246 $ hg unshare |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
247 abort: this is not a shared repo |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
248 [255] |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
249 $ cd ../.. |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
250 |
31133
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
251 $ rm -r thatdir |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
252 |
39696
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
253 Demonstrate buggy behavior around requirements validation |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
254 See comment in localrepo.py:makelocalrepository() for more. |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
255 |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
256 $ hg init sharenewrequires |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
257 $ hg share sharenewrequires shareoldrequires |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
258 updating working directory |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
259 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
260 |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
261 $ cat >> sharenewrequires/.hg/requires << EOF |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
262 > missing-requirement |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
263 > EOF |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
264 |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
265 We cannot open the repo with the unknown requirement |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
266 |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
267 $ hg -R sharenewrequires status |
45906
95c4cca641f6
errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents:
45483
diff
changeset
|
268 abort: repository requires features unknown to this Mercurial: missing-requirement |
39696
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
269 (see https://mercurial-scm.org/wiki/MissingRequirement for more information) |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
270 [255] |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
271 |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
272 BUG: we don't get the same error when opening the shared repo pointing to it |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
273 |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
274 $ hg -R shareoldrequires status |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
275 |
17539
bc7377160fa7
tests: enable more server tests on Windows
Patrick Mezard <patrick@mezard.eu>
parents:
17017
diff
changeset
|
276 Explicitly kill daemons to let the test exit on Windows |
bc7377160fa7
tests: enable more server tests on Windows
Patrick Mezard <patrick@mezard.eu>
parents:
17017
diff
changeset
|
277 |
25474
8c14f87bd0ae
tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents:
25472
diff
changeset
|
278 $ killdaemons.py |
17539
bc7377160fa7
tests: enable more server tests on Windows
Patrick Mezard <patrick@mezard.eu>
parents:
17017
diff
changeset
|
279 |
45301
dc283bc7e033
localrepo: abort creating a shared repo if the source does not have store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
42419
diff
changeset
|
280 Test sharing a repository which was created with store requirement disable |
dc283bc7e033
localrepo: abort creating a shared repo if the source does not have store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
42419
diff
changeset
|
281 |
dc283bc7e033
localrepo: abort creating a shared repo if the source does not have store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
42419
diff
changeset
|
282 $ hg init nostore --config format.usestore=false |
46334
4b0192f592cf
share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents:
46314
diff
changeset
|
283 ignoring enabled 'format.use-share-safe' config because it is incompatible with disabled 'format.usestore' config (safe !) |
45301
dc283bc7e033
localrepo: abort creating a shared repo if the source does not have store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
42419
diff
changeset
|
284 $ hg share nostore sharednostore |
dc283bc7e033
localrepo: abort creating a shared repo if the source does not have store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
42419
diff
changeset
|
285 abort: cannot create shared repository as source was created with 'format.usestore' config disabled |
dc283bc7e033
localrepo: abort creating a shared repo if the source does not have store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
42419
diff
changeset
|
286 [255] |
48466
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
287 |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
288 Check that (safe) share can control wc-specific format variant at creation time |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
289 ------------------------------------------------------------------------------- |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
290 |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
291 #if no-rust |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
292 |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
293 $ cat << EOF >> $HGRCPATH |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
294 > [storage] |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
295 > dirstate-v2.slow-path = allow |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
296 > EOF |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
297 |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
298 #endif |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
299 |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
300 $ hg init repo-safe-d1 --config format.use-share-safe=yes --config format.exp-rc-dirstate-v2=no |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
301 $ hg debugformat -R repo-safe-d1 | grep dirstate-v2 |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
302 dirstate-v2: no |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
303 |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
304 $ hg share repo-safe-d1 share-safe-d2 --config format.use-share-safe=yes --config format.exp-rc-dirstate-v2=yes |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
305 updating working directory |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
306 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
307 $ hg debugformat -R share-safe-d2 | grep dirstate-v2 |
bf2738e03e96
share: make it possible to control the working copy format variant
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
308 dirstate-v2: yes |