author | Pierre-Yves David <pierre-yves.david@octobus.net> |
Mon, 29 May 2023 04:24:29 +0200 | |
changeset 50632 | 786443bd3bc1 |
parent 48876 | 42d2b31cee0b |
permissions | -rw-r--r-- |
23439
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
1 |
$ cat > bundle2.py << EOF |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
2 |
> """A small extension to test bundle2 pushback parts. |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
3 |
> Current bundle2 implementation doesn't provide a way to generate those |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
4 |
> parts, so they must be created by extensions. |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
5 |
> """ |
33947
0124cf4af3b7
tests: update test-bundle2-pushback to pass the import checker
Augie Fackler <raf@durin42.com>
parents:
33262
diff
changeset
|
6 |
> from mercurial import bundle2, exchange, pushkey, util |
23439
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
7 |
> def _newhandlechangegroup(op, inpart): |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
8 |
> """This function wraps the changegroup part handler for getbundle. |
24686
e0e28e910fa3
bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23439
diff
changeset
|
9 |
> It issues an additional pushkey part to send a new |
23439
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
10 |
> bookmark back to the client""" |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
11 |
> result = bundle2.handlechangegroup(op, inpart) |
38470
4c358bdaada8
py3: add b'' prefixes in tests/test-bundle2-pushback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36217
diff
changeset
|
12 |
> if b'pushback' in op.reply.capabilities: |
4c358bdaada8
py3: add b'' prefixes in tests/test-bundle2-pushback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36217
diff
changeset
|
13 |
> params = {b'namespace': b'bookmarks', |
4c358bdaada8
py3: add b'' prefixes in tests/test-bundle2-pushback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36217
diff
changeset
|
14 |
> b'key': b'new-server-mark', |
4c358bdaada8
py3: add b'' prefixes in tests/test-bundle2-pushback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36217
diff
changeset
|
15 |
> b'old': b'', |
4c358bdaada8
py3: add b'' prefixes in tests/test-bundle2-pushback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36217
diff
changeset
|
16 |
> b'new': b'tip'} |
41738
c70bdd222dcd
tests: bulk changes to avoid whitespace errors of check-code.py
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
39707
diff
changeset
|
17 |
> encodedparams = [(k, pushkey.encode(v)) |
c70bdd222dcd
tests: bulk changes to avoid whitespace errors of check-code.py
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
39707
diff
changeset
|
18 |
> for (k, v) in params.items()] |
38470
4c358bdaada8
py3: add b'' prefixes in tests/test-bundle2-pushback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36217
diff
changeset
|
19 |
> op.reply.newpart(b'pushkey', mandatoryparams=encodedparams) |
23439
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
20 |
> else: |
38470
4c358bdaada8
py3: add b'' prefixes in tests/test-bundle2-pushback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36217
diff
changeset
|
21 |
> op.reply.newpart(b'output', data=b'pushback not enabled') |
23439
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
22 |
> return result |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
23 |
> _newhandlechangegroup.params = bundle2.handlechangegroup.params |
38470
4c358bdaada8
py3: add b'' prefixes in tests/test-bundle2-pushback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36217
diff
changeset
|
24 |
> bundle2.parthandlermapping[b'changegroup'] = _newhandlechangegroup |
23439
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
25 |
> EOF |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
26 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
27 |
$ cat >> $HGRCPATH <<EOF |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
28 |
> [ui] |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
29 |
> username = nobody <no.reply@example.com> |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
30 |
> |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
31 |
> [alias] |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
32 |
> tglog = log -G -T "{desc} [{phase}:{node|short}]" |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
33 |
> EOF |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
34 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
35 |
Set up server repository |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
36 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
37 |
$ hg init server |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
38 |
$ cd server |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
39 |
$ echo c0 > f0 |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
40 |
$ hg commit -Am 0 |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
41 |
adding f0 |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
42 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
43 |
Set up client repository |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
44 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
45 |
$ cd .. |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
46 |
$ hg clone ssh://user@dummy/server client -q |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
47 |
$ cd client |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
48 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
49 |
Enable extension |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
50 |
$ cat >> $HGRCPATH <<EOF |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
51 |
> [extensions] |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
52 |
> bundle2=$TESTTMP/bundle2.py |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
53 |
> EOF |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
54 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
55 |
Without config |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
56 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
57 |
$ cd ../client |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
58 |
$ echo c1 > f1 |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
59 |
$ hg commit -Am 1 |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
60 |
adding f1 |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
61 |
$ hg push |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
62 |
pushing to ssh://user@dummy/server |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
63 |
searching for changes |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
64 |
remote: adding changesets |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
65 |
remote: adding manifests |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
66 |
remote: adding file changes |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
67 |
remote: added 1 changesets with 1 changes to 1 files |
25423
525fbf24b51b
bundle2: stop capturing output for ssh again
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24754
diff
changeset
|
68 |
remote: pushback not enabled |
23439
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
69 |
$ hg bookmark |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
70 |
no bookmarks set |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
71 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
72 |
$ cd ../server |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
73 |
$ hg tglog |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
74 |
o 1 [public:2b9c7234e035] |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
75 |
| |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
76 |
@ 0 [public:6cee5c8f3e5b] |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
77 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
78 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
79 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
80 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
81 |
With config |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
82 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
83 |
$ cd ../client |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
84 |
$ echo '[experimental]' >> .hg/hgrc |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
85 |
$ echo 'bundle2.pushback = True' >> .hg/hgrc |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
86 |
$ echo c2 > f2 |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
87 |
$ hg commit -Am 2 |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
88 |
adding f2 |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
89 |
$ hg push |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
90 |
pushing to ssh://user@dummy/server |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
91 |
searching for changes |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
92 |
remote: adding changesets |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
93 |
remote: adding manifests |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
94 |
remote: adding file changes |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
95 |
remote: added 1 changesets with 1 changes to 1 files |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
96 |
$ hg bookmark |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
97 |
new-server-mark 2:0a76dfb2e179 |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
98 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
99 |
$ cd ../server |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
100 |
$ hg tglog |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
101 |
o 2 [public:0a76dfb2e179] |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
102 |
| |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
103 |
o 1 [public:2b9c7234e035] |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
104 |
| |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
105 |
@ 0 [public:6cee5c8f3e5b] |
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
106 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
107 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
108 |
|
743736fc7c41
bundle2-push: provide transaction to reply unbundler
Eric Sumner <ericsumner@fb.com>
parents:
diff
changeset
|
109 |