Mercurial > hg
annotate tests/test-narrow-clone-stream.t @ 49986:dbcc45221c1f
test: explicitly "add" file before some commit in test-rollback.t
`hg commit -A` will revert the `hg addremove` step if the commit fails. However
`hg rollback` currently does not.
We are about to improve internal consistency around transaction and dirstate and the behavior of `hg rollback` will align on the other behavior in the process.
Before doing so, we make sure the test is using a separate call to `hg add` to
avoid the test scenario to be affected by that future change.
note: the behavior change for `hg rollback` seems fine as it affect a niche
usecase and `hg rollback` usage have been strongly discouraged for a while.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 13 Feb 2023 17:42:32 +0100 |
parents | c84844cd523a |
children | 39256bee2ed9 |
rev | line source |
---|---|
40583
186921bc8e66
test-narrow-clone-stream: include no usefncache case which is broken
Yuya Nishihara <yuya@tcha.org>
parents:
40582
diff
changeset
|
1 #testcases tree flat-fncache flat-nofncache |
40494
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
2 |
40338
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
3 Tests narrow stream clones |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
4 |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
5 $ . "$TESTDIR/narrow-library.sh" |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
6 |
40494
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
7 #if tree |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
8 $ cat << EOF >> $HGRCPATH |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
9 > [experimental] |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
10 > treemanifest = 1 |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
11 > EOF |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
12 #endif |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
13 |
40583
186921bc8e66
test-narrow-clone-stream: include no usefncache case which is broken
Yuya Nishihara <yuya@tcha.org>
parents:
40582
diff
changeset
|
14 #if flat-nofncache |
186921bc8e66
test-narrow-clone-stream: include no usefncache case which is broken
Yuya Nishihara <yuya@tcha.org>
parents:
40582
diff
changeset
|
15 $ cat << EOF >> $HGRCPATH |
186921bc8e66
test-narrow-clone-stream: include no usefncache case which is broken
Yuya Nishihara <yuya@tcha.org>
parents:
40582
diff
changeset
|
16 > [format] |
186921bc8e66
test-narrow-clone-stream: include no usefncache case which is broken
Yuya Nishihara <yuya@tcha.org>
parents:
40582
diff
changeset
|
17 > usefncache = 0 |
186921bc8e66
test-narrow-clone-stream: include no usefncache case which is broken
Yuya Nishihara <yuya@tcha.org>
parents:
40582
diff
changeset
|
18 > EOF |
186921bc8e66
test-narrow-clone-stream: include no usefncache case which is broken
Yuya Nishihara <yuya@tcha.org>
parents:
40582
diff
changeset
|
19 #endif |
186921bc8e66
test-narrow-clone-stream: include no usefncache case which is broken
Yuya Nishihara <yuya@tcha.org>
parents:
40582
diff
changeset
|
20 |
40338
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
21 Server setup |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
22 |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
23 $ hg init master |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
24 $ cd master |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
25 $ mkdir dir |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
26 $ mkdir dir/src |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
27 $ cd dir/src |
40582
a4c2788e8f48
test-narrow-clone-stream: include uppercase letter in filename
Yuya Nishihara <yuya@tcha.org>
parents:
40549
diff
changeset
|
28 $ for x in `$TESTDIR/seq.py 20`; do echo $x > "F$x"; hg add "F$x"; hg commit -m "Commit src $x"; done |
40338
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
29 |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
30 $ cd .. |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
31 $ mkdir tests |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
32 $ cd tests |
40582
a4c2788e8f48
test-narrow-clone-stream: include uppercase letter in filename
Yuya Nishihara <yuya@tcha.org>
parents:
40549
diff
changeset
|
33 $ for x in `$TESTDIR/seq.py 20`; do echo $x > "F$x"; hg add "F$x"; hg commit -m "Commit src $x"; done |
40338
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
34 $ cd ../../.. |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
35 |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
36 Trying to stream clone when the server does not support it |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
37 |
40582
a4c2788e8f48
test-narrow-clone-stream: include uppercase letter in filename
Yuya Nishihara <yuya@tcha.org>
parents:
40549
diff
changeset
|
38 $ hg clone --narrow ssh://user@dummy/master narrow --noupdate --include "dir/src/F10" --stream |
40338
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
39 streaming all changes |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
40 remote: abort: server does not support narrow stream clones |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
41 abort: pull failed on remote |
46977
3f87d2af0bd6
errors: raise RemoteError in some places in exchange.py
Martin von Zweigbergk <martinvonz@google.com>
parents:
46884
diff
changeset
|
42 [100] |
40338
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
43 |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
44 Enable stream clone on the server |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
45 |
40549
d6ec45b79277
tests: fix config knob in test-narrow-clone-stream.t
Augie Fackler <augie@google.com>
parents:
40494
diff
changeset
|
46 $ echo "[experimental]" >> master/.hg/hgrc |
d6ec45b79277
tests: fix config knob in test-narrow-clone-stream.t
Augie Fackler <augie@google.com>
parents:
40494
diff
changeset
|
47 $ echo "server.stream-narrow-clones=True" >> master/.hg/hgrc |
40338
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
48 |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
49 Cloning a specific file when stream clone is supported |
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
50 |
40582
a4c2788e8f48
test-narrow-clone-stream: include uppercase letter in filename
Yuya Nishihara <yuya@tcha.org>
parents:
40549
diff
changeset
|
51 $ hg clone --narrow ssh://user@dummy/master narrow --noupdate --include "dir/src/F10" --stream |
40338
af62936c2508
streamclone: new server config and some API changes for narrow stream clones
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
52 streaming all changes |
40494
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
53 * files to transfer, * KB of data (glob) |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
54 transferred * KB in * seconds (* */sec) (glob) |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
55 |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
56 $ cd narrow |
44724
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
42505
diff
changeset
|
57 $ ls -A |
5c2a4f37eace
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents:
42505
diff
changeset
|
58 .hg |
40494
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
59 $ hg tracked |
40582
a4c2788e8f48
test-narrow-clone-stream: include uppercase letter in filename
Yuya Nishihara <yuya@tcha.org>
parents:
40549
diff
changeset
|
60 I path:dir/src/F10 |
40494
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
61 |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
62 Making sure we have the correct set of requirements |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
63 |
48464
5e6542143d40
test: use `hg debugrequires` instead of `cat` in some tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48321
diff
changeset
|
64 $ hg debugrequires |
42505
c1850798f995
run-tests: stop matching line for missing feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41226
diff
changeset
|
65 dotencode (tree !) |
c1850798f995
run-tests: stop matching line for missing feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41226
diff
changeset
|
66 dotencode (flat-fncache !) |
48321
f35529784079
dirstate-v2: fix confusion between requirement and format config variable
Raphaël Gomès <rgomes@octobus.net>
parents:
48295
diff
changeset
|
67 dirstate-v2 (dirstate-v2 !) |
42505
c1850798f995
run-tests: stop matching line for missing feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41226
diff
changeset
|
68 fncache (tree !) |
c1850798f995
run-tests: stop matching line for missing feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41226
diff
changeset
|
69 fncache (flat-fncache !) |
40494
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
70 generaldelta |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
71 narrowhg-experimental |
46884
cc3ad5c3af3b
persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46874
diff
changeset
|
72 persistent-nodemap (rust !) |
46874
84a93fa7ecfd
revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44724
diff
changeset
|
73 revlog-compression-zstd (zstd !) |
40494
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
74 revlogv1 |
48669
7ee07e1a25c0
share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
75 share-safe |
40899
192291ca909b
test: enable sparse-revlog for test-narrow-clone-stream.t
Boris Feld <boris.feld@octobus.net>
parents:
40584
diff
changeset
|
76 sparserevlog |
40494
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
77 store |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
78 treemanifest (tree !) |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
79 |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
80 Making sure store has the required files |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
81 |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
82 $ ls .hg/store/ |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
83 00changelog.i |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
84 00manifest.i |
42505
c1850798f995
run-tests: stop matching line for missing feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41226
diff
changeset
|
85 data |
c1850798f995
run-tests: stop matching line for missing feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41226
diff
changeset
|
86 fncache (tree !) |
c1850798f995
run-tests: stop matching line for missing feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41226
diff
changeset
|
87 fncache (flat-fncache !) |
40494
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
88 meta (tree !) |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
89 narrowspec |
48669
7ee07e1a25c0
share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
90 requires |
40494
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
91 undo |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
92 undo.backupfiles |
41226
0f2b8d51bfdf
narrow: include journal.narrowspec in transaction journal
Martin von Zweigbergk <martinvonz@google.com>
parents:
41041
diff
changeset
|
93 undo.narrowspec |
40494
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
94 undo.phaseroots |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
95 |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
96 Checking that repository has all the required data and not broken |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
97 |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
98 $ hg verify |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
99 checking changesets |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
100 checking manifests |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
101 checking directory manifests (tree !) |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
102 crosschecking files in changesets and manifests |
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
103 checking files |
49826
c84844cd523a
verify: also check dirstate
Raphaël Gomès <rgomes@octobus.net>
parents:
48669
diff
changeset
|
104 checking dirstate |
40494
9aeb9e2d28a7
store: introduce _matchtrackedpath() and use it to filter store files
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
40338
diff
changeset
|
105 checked 40 changesets with 1 changes to 1 files |