Mercurial > hg
annotate tests/test-narrow-clone-non-narrow-server.t @ 49939:0a58aaa2009c
makefile: add `cargo clippy` to tests if cargo is available
This linter mostly makes our code more idiomatic, less surprising, has good
suggestions and catches bugs. It's widely used in the Rust community and now
part of the default toolchain when using `rustup`.
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Tue, 10 Jan 2023 11:39:53 +0100 |
parents | 42d2b31cee0b |
children |
rev | line source |
---|---|
36079
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
1 Test attempting a narrow clone against a server that doesn't support narrowhg. |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
2 |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
3 $ . "$TESTDIR/narrow-library.sh" |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
4 |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
5 $ hg init master |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
6 $ cd master |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
7 |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
8 $ for x in `$TESTDIR/seq.py 10`; do |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
9 > echo $x > "f$x" |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
10 > hg add "f$x" |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
11 > hg commit -m "Add $x" |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
12 > done |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
13 |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
14 $ hg serve -a localhost -p $HGPORT1 --config extensions.narrow=! -d \ |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
15 > --pid-file=hg.pid |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
16 $ cat hg.pid >> "$DAEMON_PIDS" |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
17 $ hg serve -a localhost -p $HGPORT2 -d --pid-file=hg.pid |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
18 $ cat hg.pid >> "$DAEMON_PIDS" |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
19 |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
20 Verify that narrow is advertised in the bundle2 capabilities: |
37661
afe624d78d43
py3: use urllib.parse.unquote_plus instead of urllib.unquote_plus
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36993
diff
changeset
|
21 |
afe624d78d43
py3: use urllib.parse.unquote_plus instead of urllib.unquote_plus
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36993
diff
changeset
|
22 $ cat >> unquote.py <<EOF |
afe624d78d43
py3: use urllib.parse.unquote_plus instead of urllib.unquote_plus
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36993
diff
changeset
|
23 > import sys |
afe624d78d43
py3: use urllib.parse.unquote_plus instead of urllib.unquote_plus
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36993
diff
changeset
|
24 > if sys.version[0] == '3': |
afe624d78d43
py3: use urllib.parse.unquote_plus instead of urllib.unquote_plus
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36993
diff
changeset
|
25 > import urllib.parse as up |
afe624d78d43
py3: use urllib.parse.unquote_plus instead of urllib.unquote_plus
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36993
diff
changeset
|
26 > unquote = up.unquote_plus |
afe624d78d43
py3: use urllib.parse.unquote_plus instead of urllib.unquote_plus
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36993
diff
changeset
|
27 > else: |
afe624d78d43
py3: use urllib.parse.unquote_plus instead of urllib.unquote_plus
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36993
diff
changeset
|
28 > import urllib |
afe624d78d43
py3: use urllib.parse.unquote_plus instead of urllib.unquote_plus
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36993
diff
changeset
|
29 > unquote = urllib.unquote_plus |
afe624d78d43
py3: use urllib.parse.unquote_plus instead of urllib.unquote_plus
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36993
diff
changeset
|
30 > print(unquote(list(sys.stdin)[1])) |
afe624d78d43
py3: use urllib.parse.unquote_plus instead of urllib.unquote_plus
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36993
diff
changeset
|
31 > EOF |
36103
54e2abc73686
tests: use `hello` not `capabilities` over ssh
Augie Fackler <augie@google.com>
parents:
36079
diff
changeset
|
32 $ echo hello | hg -R . serve --stdio | \ |
39720
7d9b1b50cad5
tests: split capabilities into separate lines while searching for "narrow"
Anton Shestakov <av6@dwimlabs.net>
parents:
39707
diff
changeset
|
33 > "$PYTHON" unquote.py | tr ' ' '\n' | grep narrow |
7d9b1b50cad5
tests: split capabilities into separate lines while searching for "narrow"
Anton Shestakov <av6@dwimlabs.net>
parents:
39707
diff
changeset
|
34 exp-narrow-1 |
36079
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
35 |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
36 $ cd .. |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
37 |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
38 $ hg clone --narrow --include f1 http://localhost:$HGPORT1/ narrowclone |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
39 requesting all changes |
39964
06e75fbf9d6b
narrow: check for servers' narrow support before doing anything (BC)
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39720
diff
changeset
|
40 abort: server does not support narrow clones |
36079
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
41 [255] |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
42 |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
43 Make a narrow clone (via HGPORT2), then try to narrow and widen |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
44 into it (from HGPORT1) to prove that narrowing is fine and widening fails |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
45 gracefully: |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
46 $ hg clone -r 0 --narrow --include f1 http://localhost:$HGPORT2/ narrowclone |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
47 adding changesets |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
48 adding manifests |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
49 adding file changes |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
50 added 1 changesets with 1 changes to 1 files |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
51 new changesets * (glob) |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
52 updating to branch default |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
53 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
54 $ cd narrowclone |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
55 $ hg tracked --addexclude f2 http://localhost:$HGPORT1/ |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
56 comparing with http://localhost:$HGPORT1/ |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
57 searching for changes |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
58 looking for local changes to affected paths |
47026
20eba5cef2e0
narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents:
40755
diff
changeset
|
59 deleting unwanted files from working copy |
40436
30a7d3b6b281
narrow: rework logic to check whether we need to widen and narrow
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39964
diff
changeset
|
60 |
36079
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
61 $ hg tracked --addinclude f1 http://localhost:$HGPORT1/ |
40436
30a7d3b6b281
narrow: rework logic to check whether we need to widen and narrow
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39964
diff
changeset
|
62 nothing to widen or narrow |
30a7d3b6b281
narrow: rework logic to check whether we need to widen and narrow
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39964
diff
changeset
|
63 |
30a7d3b6b281
narrow: rework logic to check whether we need to widen and narrow
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39964
diff
changeset
|
64 $ hg tracked --addinclude f9 http://localhost:$HGPORT1/ |
36079
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
65 comparing with http://localhost:$HGPORT1/ |
39964
06e75fbf9d6b
narrow: check for servers' narrow support before doing anything (BC)
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39720
diff
changeset
|
66 abort: server does not support narrow clones |
36079
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
67 [255] |