Mercurial > hg
annotate tests/test-narrow-clone-non-narrow-server.t @ 44311:2b72c4ff8ed1
nodemap: use an intermediate "docket" file to carry small metadata
This intermediate file will make mmapping, transaction and content validation
easier. (Most of this usefulness will arrive gradually in later changeset). In
particular it will become very useful to append new data are the end of raw file
instead of rewriting on the file on each transaction.
See in code comments for details.
Differential Revision: https://phab.mercurial-scm.org/D7838
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 15 Jan 2020 15:47:50 +0100 |
parents | e3792741e3fb |
children | 20eba5cef2e0 |
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 > from __future__ import print_function |
afe624d78d43
py3: use urllib.parse.unquote_plus instead of urllib.unquote_plus
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36993
diff
changeset
|
24 > import sys |
afe624d78d43
py3: use urllib.parse.unquote_plus instead of urllib.unquote_plus
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36993
diff
changeset
|
25 > 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
|
26 > 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
|
27 > 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
|
28 > else: |
afe624d78d43
py3: use urllib.parse.unquote_plus instead of urllib.unquote_plus
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36993
diff
changeset
|
29 > import urllib |
afe624d78d43
py3: use urllib.parse.unquote_plus instead of urllib.unquote_plus
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36993
diff
changeset
|
30 > 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
|
31 > 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
|
32 > EOF |
36103
54e2abc73686
tests: use `hello` not `capabilities` over ssh
Augie Fackler <augie@google.com>
parents:
36079
diff
changeset
|
33 $ 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
|
34 > "$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
|
35 exp-narrow-1 |
36079
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
36 |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
37 $ cd .. |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
38 |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
39 $ 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
|
40 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
|
41 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
|
42 [255] |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
43 |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
44 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
|
45 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
|
46 gracefully: |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
47 $ 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
|
48 adding changesets |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
49 adding manifests |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
50 adding file changes |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
51 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
|
52 new changesets * (glob) |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
53 updating to branch default |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
54 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
|
55 $ cd narrowclone |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
56 $ hg tracked --addexclude f2 http://localhost:$HGPORT1/ |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
57 comparing with http://localhost:$HGPORT1/ |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
58 searching for changes |
a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
59 looking for local changes to affected paths |
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] |