Mercurial > hg
annotate tests/test-share.t @ 50400:95acba2c29f6
encoding: avoid quadratic time complexity when json-encoding non-UTF8 strings
Apparently the code uses "+=" with a bytes object, which is linear-time, so the
whole encoding is quadratic-time. This patch makes us use a bytearray object,
instead, which has a(n amortized-)constant-time append operation.
The encoding is still not particularly fast, but at least a 10MB file
takes tens of seconds, not many hours to encode.
author | Arseniy Alekseyev <aalekseyev@janestreet.com> |
---|---|
date | Mon, 06 Mar 2023 11:27:57 +0000 |
parents | 68b7faeb6ef3 |
children | 2e8a88e5809f |
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] |
48657
68b7faeb6ef3
tests: use debugrequires instead of grepping the file directly
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48466
diff
changeset
|
176 $ hg debugrequires | grep shared |
31211
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) |
48657
68b7faeb6ef3
tests: use debugrequires instead of grepping the file directly
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48466
diff
changeset
|
211 $ hg debugrequires -R thisdir/abs/ | grep shared |
68b7faeb6ef3
tests: use debugrequires instead of grepping the file directly
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48466
diff
changeset
|
212 shared |
68b7faeb6ef3
tests: use debugrequires instead of grepping the file directly
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48466
diff
changeset
|
213 $ hg debugrequires -R thisdir/rel/ | grep shared |
68b7faeb6ef3
tests: use debugrequires instead of grepping the file directly
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48466
diff
changeset
|
214 relshared |
68b7faeb6ef3
tests: use debugrequires instead of grepping the file directly
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48466
diff
changeset
|
215 shared |
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
|
216 |
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 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
|
218 |
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 $ 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
|
220 $ 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
|
221 $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
|
222 $ 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
|
223 |
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 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
|
225 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
|
226 |
23080c03a604
share: add --relative flag to store a relative path to the source
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
31052
diff
changeset
|
227 $ 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
|
228 $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
|
229 $ 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
|
230 $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
|
231 $ 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
|
232 $ 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
|
233 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
|
234 [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
|
235 $ 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
|
236 $TESTTMP/thatdir/rel |
31212
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
237 |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
238 test unshare relshared repo |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
239 |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
240 $ cd thatdir/rel |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
241 $ hg unshare |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
242 $ test -d .hg/store |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
243 $ test -f .hg/sharedpath |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
244 [1] |
48657
68b7faeb6ef3
tests: use debugrequires instead of grepping the file directly
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48466
diff
changeset
|
245 $ hg debugrequires | grep shared |
31212
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
246 [1] |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
247 $ hg unshare |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
248 abort: this is not a shared repo |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
249 [255] |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
250 $ cd ../.. |
344121b30f32
share: drop 'relshared' requirement as well
Yuya Nishihara <yuya@tcha.org>
parents:
31211
diff
changeset
|
251 |
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
|
252 $ 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
|
253 |
39696
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
254 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
|
255 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
|
256 |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
257 $ hg init sharenewrequires |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
258 $ hg share sharenewrequires shareoldrequires |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
259 updating working directory |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
260 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
|
261 |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
262 $ 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
|
263 > missing-requirement |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
264 > EOF |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
265 |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
266 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
|
267 |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
268 $ 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
|
269 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
|
270 (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
|
271 [255] |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
272 |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
273 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
|
274 |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
275 $ hg -R shareoldrequires status |
9de1a1c83cd7
localrepo: document and test bug around opening shared repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
39323
diff
changeset
|
276 |
17539
bc7377160fa7
tests: enable more server tests on Windows
Patrick Mezard <patrick@mezard.eu>
parents:
17017
diff
changeset
|
277 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
|
278 |
25474
8c14f87bd0ae
tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents:
25472
diff
changeset
|
279 $ killdaemons.py |
17539
bc7377160fa7
tests: enable more server tests on Windows
Patrick Mezard <patrick@mezard.eu>
parents:
17017
diff
changeset
|
280 |
45301
dc283bc7e033
localrepo: abort creating a shared repo if the source does not have store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
42419
diff
changeset
|
281 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
|
282 |
dc283bc7e033
localrepo: abort creating a shared repo if the source does not have store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
42419
diff
changeset
|
283 $ 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
|
284 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
|
285 $ 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
|
286 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
|
287 [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
|
288 |
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 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
|
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 |
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 #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
|
293 |
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 $ 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
|
295 > [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
|
296 > 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
|
297 > 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
|
298 |
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 #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
|
300 |
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 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
|
302 $ 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
|
303 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
|
304 |
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 $ 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
|
306 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
|
307 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
|
308 $ 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
|
309 dirstate-v2: yes |