annotate tests/test-bundle2-exchange.t @ 27246:b288fb2724bf

wireproto: config options to disable bundle1 bundle2 is the new and preferred wire protocol format. For various reasons, server operators may wish to force clients to use it. One reason is performance. If a repository is stored in generaldelta, the server must recompute deltas in order to produce the bundle1 changegroup. This can be extremely expensive. For mozilla-central, bundle generation typically takes a few minutes. However, generating a non-gd bundle from a generaldelta encoded mozilla-central requires over 30 minutes of CPU! If a large repository like mozilla-central were encoded in generaldelta and non-gd clients connected, they could easily flood a server by cloning. This patch gives server operators config knobs to control whether bundle1 is allowed for push and pull operations. The default is to support legacy bundle1 clients, making this patch backwards compatible.
author Gregory Szorc <gregory.szorc@gmail.com>
date Fri, 04 Dec 2015 15:12:11 -0800
parents 58f1645f72c3
children 37d7cf569cf3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22660
978cce51cc5f bundle2: split test in two
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22659
diff changeset
1 Test exchange of common information using bundle2
978cce51cc5f bundle2: split test in two
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22659
diff changeset
2
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
3
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
4 $ getmainid() {
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
5 > hg -R main log --template '{node}\n' --rev "$1"
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
6 > }
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
7
22660
978cce51cc5f bundle2: split test in two
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22659
diff changeset
8 enable obsolescence
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
9
26566
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
10 $ cp $HGRCPATH $TESTTMP/hgrc.orig
23759
cdfc47266e53 test-bundle2-exchange: create temp script in $TESTTMP, not $TESTDIR
Martin von Zweigbergk <martinvonz@google.com>
parents: 23672
diff changeset
11 $ cat > $TESTTMP/bundle2-pushkey-hook.sh << EOF
23672
7853e8603f4a tests: make a multi-statement hook in bundle2-exchange Windows compatible
Matt Harbison <matt_harbison@yahoo.com>
parents: 23648
diff changeset
12 > echo pushkey: lock state after \"\$HG_NAMESPACE\"
7853e8603f4a tests: make a multi-statement hook in bundle2-exchange Windows compatible
Matt Harbison <matt_harbison@yahoo.com>
parents: 23648
diff changeset
13 > hg debuglock
7853e8603f4a tests: make a multi-statement hook in bundle2-exchange Windows compatible
Matt Harbison <matt_harbison@yahoo.com>
parents: 23648
diff changeset
14 > EOF
7853e8603f4a tests: make a multi-statement hook in bundle2-exchange Windows compatible
Matt Harbison <matt_harbison@yahoo.com>
parents: 23648
diff changeset
15
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
16 $ cat >> $HGRCPATH << EOF
21147
2a246e737f92 bundle2: move bundle2 config option to section "experimental"
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21146
diff changeset
17 > [experimental]
22955
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22941
diff changeset
18 > evolution=createmarkers,exchange
21147
2a246e737f92 bundle2: move bundle2 config option to section "experimental"
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21146
diff changeset
19 > bundle2-exp=True
24878
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
20 > bundle2-output-capture=True
21069
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
21 > [ui]
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25493
diff changeset
22 > ssh=python "$TESTDIR/dummyssh"
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
23 > logtemplate={rev}:{node|short} {phase} {author} {bookmarks} {desc|firstline}
21075
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
24 > [web]
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
25 > push_ssl = false
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
26 > allow_push = *
21648
c26a11cdafeb bundle2: use non-publishing repo in test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21647
diff changeset
27 > [phases]
c26a11cdafeb bundle2: use non-publishing repo in test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21647
diff changeset
28 > publish=False
22938
4f2222f86612 test-bundle2: test that we got appropriate hook called with appropriate data
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22660
diff changeset
29 > [hooks]
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
30 > pretxnclose.tip = hg log -r tip -T "pre-close-tip:{node|short} {phase} {bookmarks}\n"
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
31 > txnclose.tip = hg log -r tip -T "postclose-tip:{node|short} {phase} {bookmarks}\n"
25478
d19787db6fe0 tests: simplify printenv calls
Matt Mackall <mpm@selenic.com>
parents: 25476
diff changeset
32 > txnclose.env = sh -c "HG_LOCAL= printenv.py txnclose"
23759
cdfc47266e53 test-bundle2-exchange: create temp script in $TESTTMP, not $TESTDIR
Martin von Zweigbergk <martinvonz@google.com>
parents: 23672
diff changeset
33 > pushkey= sh "$TESTTMP/bundle2-pushkey-hook.sh"
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
34 > EOF
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
35
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
36 The extension requires a repo (currently unused)
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
37
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
38 $ hg init main
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
39 $ cd main
20803
88db3e615319 bundle2: make sure the unbundler refuse non bundle2 stream
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20802
diff changeset
40 $ touch a
88db3e615319 bundle2: make sure the unbundler refuse non bundle2 stream
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20802
diff changeset
41 $ hg add a
88db3e615319 bundle2: make sure the unbundler refuse non bundle2 stream
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20802
diff changeset
42 $ hg commit -m 'a'
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
43 pre-close-tip:3903775176ed draft
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
44 postclose-tip:3903775176ed draft
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
45 txnclose hook: HG_PHASES_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
46
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
47 $ hg unbundle $TESTDIR/bundles/rebase.hg
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
48 adding changesets
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
49 adding manifests
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
50 adding file changes
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
51 added 8 changesets with 7 changes to 7 files (+3 heads)
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
52 pre-close-tip:02de42196ebe draft
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
53 postclose-tip:02de42196ebe draft
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
54 txnclose hook: HG_NODE=cd010b8cd998f3981a5a8115f94f8da4ab506089 HG_PHASES_MOVED=1 HG_SOURCE=unbundle HG_TXNID=TXN:* HG_TXNNAME=unbundle (glob)
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
55 bundle:*/tests/bundles/rebase.hg HG_URL=bundle:*/tests/bundles/rebase.hg (glob)
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
56 (run 'hg heads' to see heads, 'hg merge' to merge)
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
57
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
58 $ cd ..
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
59
20955
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
60 Real world exchange
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
61 =====================
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
62
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
63 Add more obsolescence information
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
64
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
65 $ hg -R main debugobsolete -d '0 0' 1111111111111111111111111111111111111111 `getmainid 9520eea781bc`
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
66 pre-close-tip:02de42196ebe draft
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
67 postclose-tip:02de42196ebe draft
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
68 txnclose hook: HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:* HG_TXNNAME=debugobsolete (glob)
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
69 $ hg -R main debugobsolete -d '0 0' 2222222222222222222222222222222222222222 `getmainid 24b6387c8c8c`
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
70 pre-close-tip:02de42196ebe draft
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
71 postclose-tip:02de42196ebe draft
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
72 txnclose hook: HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:* HG_TXNNAME=debugobsolete (glob)
20955
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
73
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
74 clone --pull
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
75
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
76 $ hg -R main phase --public cd010b8cd998
24822
8678b1eafbcf changelog: fix readpending if no pending data exist (issue4609)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24799
diff changeset
77 pre-close-tip:02de42196ebe draft
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
78 postclose-tip:02de42196ebe draft
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
79 txnclose hook: HG_PHASES_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=phase (glob)
20955
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
80 $ hg clone main other --pull --rev 9520eea781bc
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
81 adding changesets
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
82 adding manifests
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
83 adding file changes
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
84 added 2 changesets with 2 changes to 2 files
22354
a89add6c6b2f bundle2: pull obsmarkers relevant to the pulled set through bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22350
diff changeset
85 1 new obsolescence markers
23361
936b0ff34346 phases: read pending data when appropriate
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23360
diff changeset
86 pre-close-tip:9520eea781bc draft
23359
1b2957b27203 test-bundle2: check visible data in pre/post-transaction hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23358
diff changeset
87 postclose-tip:9520eea781bc draft
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
88 txnclose hook: HG_NEW_OBSMARKERS=1 HG_NODE=cd010b8cd998f3981a5a8115f94f8da4ab506089 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_TXNNAME=pull (glob)
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
89 file:/*/$TESTTMP/main HG_URL=file:$TESTTMP/main (glob)
20955
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
90 updating to branch default
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
91 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
92 $ hg -R other log -G
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
93 @ 1:9520eea781bc draft Nicolas Dumazet <nicdumz.commits@gmail.com> E
20955
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
94 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
95 o 0:cd010b8cd998 public Nicolas Dumazet <nicdumz.commits@gmail.com> A
20955
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
96
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
97 $ hg -R other debugobsolete
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
98 1111111111111111111111111111111111111111 9520eea781bcca16c1e15acc0ba14335a0e8e5ba 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
20955
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
99
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
100 pull
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
101
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
102 $ hg -R main phase --public 9520eea781bc
24822
8678b1eafbcf changelog: fix readpending if no pending data exist (issue4609)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24799
diff changeset
103 pre-close-tip:02de42196ebe draft
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
104 postclose-tip:02de42196ebe draft
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
105 txnclose hook: HG_PHASES_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=phase (glob)
21061
62d35f251c60 bundle2: allow using bundle2 for push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21019
diff changeset
106 $ hg -R other pull -r 24b6387c8c8c
20955
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
107 pulling from $TESTTMP/main (glob)
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
108 searching for changes
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
109 adding changesets
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
110 adding manifests
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
111 adding file changes
21061
62d35f251c60 bundle2: allow using bundle2 for push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21019
diff changeset
112 added 1 changesets with 1 changes to 1 files (+1 heads)
22354
a89add6c6b2f bundle2: pull obsmarkers relevant to the pulled set through bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22350
diff changeset
113 1 new obsolescence markers
23361
936b0ff34346 phases: read pending data when appropriate
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23360
diff changeset
114 pre-close-tip:24b6387c8c8c draft
23359
1b2957b27203 test-bundle2: check visible data in pre/post-transaction hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23358
diff changeset
115 postclose-tip:24b6387c8c8c draft
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
116 txnclose hook: HG_NEW_OBSMARKERS=1 HG_NODE=24b6387c8c8cae37178880f3fa95ded3cb1cf785 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_TXNNAME=pull (glob)
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
117 file:/*/$TESTTMP/main HG_URL=file:$TESTTMP/main (glob)
20955
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
118 (run 'hg heads' to see heads, 'hg merge' to merge)
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
119 $ hg -R other log -G
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
120 o 2:24b6387c8c8c draft Nicolas Dumazet <nicdumz.commits@gmail.com> F
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
121 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
122 | @ 1:9520eea781bc draft Nicolas Dumazet <nicdumz.commits@gmail.com> E
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
123 |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
124 o 0:cd010b8cd998 public Nicolas Dumazet <nicdumz.commits@gmail.com> A
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
125
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
126 $ hg -R other debugobsolete
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
127 1111111111111111111111111111111111111111 9520eea781bcca16c1e15acc0ba14335a0e8e5ba 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
128 2222222222222222222222222222222222222222 24b6387c8c8cae37178880f3fa95ded3cb1cf785 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
21061
62d35f251c60 bundle2: allow using bundle2 for push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21019
diff changeset
129
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
130 pull empty (with phase movement)
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
131
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
132 $ hg -R main phase --public 24b6387c8c8c
24822
8678b1eafbcf changelog: fix readpending if no pending data exist (issue4609)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24799
diff changeset
133 pre-close-tip:02de42196ebe draft
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
134 postclose-tip:02de42196ebe draft
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
135 txnclose hook: HG_PHASES_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=phase (glob)
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
136 $ hg -R other pull -r 24b6387c8c8c
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
137 pulling from $TESTTMP/main (glob)
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
138 no changes found
24822
8678b1eafbcf changelog: fix readpending if no pending data exist (issue4609)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24799
diff changeset
139 pre-close-tip:24b6387c8c8c public
23359
1b2957b27203 test-bundle2: check visible data in pre/post-transaction hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23358
diff changeset
140 postclose-tip:24b6387c8c8c public
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
141 txnclose hook: HG_NEW_OBSMARKERS=0 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_TXNNAME=pull (glob)
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
142 file:/*/$TESTTMP/main HG_URL=file:$TESTTMP/main (glob)
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
143 $ hg -R other log -G
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
144 o 2:24b6387c8c8c public Nicolas Dumazet <nicdumz.commits@gmail.com> F
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
145 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
146 | @ 1:9520eea781bc draft Nicolas Dumazet <nicdumz.commits@gmail.com> E
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
147 |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
148 o 0:cd010b8cd998 public Nicolas Dumazet <nicdumz.commits@gmail.com> A
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
149
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
150 $ hg -R other debugobsolete
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
151 1111111111111111111111111111111111111111 9520eea781bcca16c1e15acc0ba14335a0e8e5ba 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
152 2222222222222222222222222222222222222222 24b6387c8c8cae37178880f3fa95ded3cb1cf785 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
153
21584
4dca1a06e7ee bundle2: fix bundle2 pulling all revs on empty pulls
Durham Goode <durham@fb.com>
parents: 21547
diff changeset
154 pull empty
4dca1a06e7ee bundle2: fix bundle2 pulling all revs on empty pulls
Durham Goode <durham@fb.com>
parents: 21547
diff changeset
155
4dca1a06e7ee bundle2: fix bundle2 pulling all revs on empty pulls
Durham Goode <durham@fb.com>
parents: 21547
diff changeset
156 $ hg -R other pull -r 24b6387c8c8c
4dca1a06e7ee bundle2: fix bundle2 pulling all revs on empty pulls
Durham Goode <durham@fb.com>
parents: 21547
diff changeset
157 pulling from $TESTTMP/main (glob)
4dca1a06e7ee bundle2: fix bundle2 pulling all revs on empty pulls
Durham Goode <durham@fb.com>
parents: 21547
diff changeset
158 no changes found
23359
1b2957b27203 test-bundle2: check visible data in pre/post-transaction hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23358
diff changeset
159 pre-close-tip:24b6387c8c8c public
1b2957b27203 test-bundle2: check visible data in pre/post-transaction hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23358
diff changeset
160 postclose-tip:24b6387c8c8c public
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
161 txnclose hook: HG_NEW_OBSMARKERS=0 HG_SOURCE=pull HG_TXNID=TXN:* HG_TXNNAME=pull (glob)
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
162 file:/*/$TESTTMP/main HG_URL=file:$TESTTMP/main (glob)
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
163 $ hg -R other log -G
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
164 o 2:24b6387c8c8c public Nicolas Dumazet <nicdumz.commits@gmail.com> F
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
165 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
166 | @ 1:9520eea781bc draft Nicolas Dumazet <nicdumz.commits@gmail.com> E
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
167 |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
168 o 0:cd010b8cd998 public Nicolas Dumazet <nicdumz.commits@gmail.com> A
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
169
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
170 $ hg -R other debugobsolete
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
171 1111111111111111111111111111111111111111 9520eea781bcca16c1e15acc0ba14335a0e8e5ba 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
172 2222222222222222222222222222222222222222 24b6387c8c8cae37178880f3fa95ded3cb1cf785 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
21584
4dca1a06e7ee bundle2: fix bundle2 pulling all revs on empty pulls
Durham Goode <durham@fb.com>
parents: 21547
diff changeset
173
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
174 add extra data to test their exchange during push
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
175
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
176 $ hg -R main bookmark --rev eea13746799a book_eea1
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
177 pre-close-tip:02de42196ebe draft
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
178 postclose-tip:02de42196ebe draft
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
179 txnclose hook: HG_BOOKMARK_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=bookmark (glob)
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
180 $ hg -R main debugobsolete -d '0 0' 3333333333333333333333333333333333333333 `getmainid eea13746799a`
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
181 pre-close-tip:02de42196ebe draft
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
182 postclose-tip:02de42196ebe draft
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
183 txnclose hook: HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:* HG_TXNNAME=debugobsolete (glob)
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
184 $ hg -R main bookmark --rev 02de42196ebe book_02de
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
185 pre-close-tip:02de42196ebe draft book_02de
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
186 postclose-tip:02de42196ebe draft book_02de
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
187 txnclose hook: HG_BOOKMARK_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=bookmark (glob)
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
188 $ hg -R main debugobsolete -d '0 0' 4444444444444444444444444444444444444444 `getmainid 02de42196ebe`
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
189 pre-close-tip:02de42196ebe draft book_02de
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
190 postclose-tip:02de42196ebe draft book_02de
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
191 txnclose hook: HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:* HG_TXNNAME=debugobsolete (glob)
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
192 $ hg -R main bookmark --rev 42ccdea3bb16 book_42cc
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
193 pre-close-tip:02de42196ebe draft book_02de
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
194 postclose-tip:02de42196ebe draft book_02de
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
195 txnclose hook: HG_BOOKMARK_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=bookmark (glob)
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
196 $ hg -R main debugobsolete -d '0 0' 5555555555555555555555555555555555555555 `getmainid 42ccdea3bb16`
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
197 pre-close-tip:02de42196ebe draft book_02de
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
198 postclose-tip:02de42196ebe draft book_02de
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
199 txnclose hook: HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:* HG_TXNNAME=debugobsolete (glob)
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
200 $ hg -R main bookmark --rev 5fddd98957c8 book_5fdd
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
201 pre-close-tip:02de42196ebe draft book_02de
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
202 postclose-tip:02de42196ebe draft book_02de
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
203 txnclose hook: HG_BOOKMARK_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=bookmark (glob)
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
204 $ hg -R main debugobsolete -d '0 0' 6666666666666666666666666666666666666666 `getmainid 5fddd98957c8`
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
205 pre-close-tip:02de42196ebe draft book_02de
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
206 postclose-tip:02de42196ebe draft book_02de
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
207 txnclose hook: HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:* HG_TXNNAME=debugobsolete (glob)
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
208 $ hg -R main bookmark --rev 32af7686d403 book_32af
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
209 pre-close-tip:02de42196ebe draft book_02de
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
210 postclose-tip:02de42196ebe draft book_02de
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
211 txnclose hook: HG_BOOKMARK_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=bookmark (glob)
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
212 $ hg -R main debugobsolete -d '0 0' 7777777777777777777777777777777777777777 `getmainid 32af7686d403`
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
213 pre-close-tip:02de42196ebe draft book_02de
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
214 postclose-tip:02de42196ebe draft book_02de
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
215 txnclose hook: HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:* HG_TXNNAME=debugobsolete (glob)
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
216
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
217 $ hg -R other bookmark --rev cd010b8cd998 book_eea1
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
218 pre-close-tip:24b6387c8c8c public
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
219 postclose-tip:24b6387c8c8c public
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
220 txnclose hook: HG_BOOKMARK_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=bookmark (glob)
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
221 $ hg -R other bookmark --rev cd010b8cd998 book_02de
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
222 pre-close-tip:24b6387c8c8c public
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
223 postclose-tip:24b6387c8c8c public
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
224 txnclose hook: HG_BOOKMARK_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=bookmark (glob)
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
225 $ hg -R other bookmark --rev cd010b8cd998 book_42cc
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
226 pre-close-tip:24b6387c8c8c public
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
227 postclose-tip:24b6387c8c8c public
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
228 txnclose hook: HG_BOOKMARK_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=bookmark (glob)
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
229 $ hg -R other bookmark --rev cd010b8cd998 book_5fdd
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
230 pre-close-tip:24b6387c8c8c public
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
231 postclose-tip:24b6387c8c8c public
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
232 txnclose hook: HG_BOOKMARK_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=bookmark (glob)
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
233 $ hg -R other bookmark --rev cd010b8cd998 book_32af
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
234 pre-close-tip:24b6387c8c8c public
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
235 postclose-tip:24b6387c8c8c public
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
236 txnclose hook: HG_BOOKMARK_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=bookmark (glob)
21061
62d35f251c60 bundle2: allow using bundle2 for push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21019
diff changeset
237
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
238 $ hg -R main phase --public eea13746799a
24822
8678b1eafbcf changelog: fix readpending if no pending data exist (issue4609)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24799
diff changeset
239 pre-close-tip:02de42196ebe draft book_02de
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
240 postclose-tip:02de42196ebe draft book_02de
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
241 txnclose hook: HG_PHASES_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=phase (glob)
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
242
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
243 push
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
244 $ hg -R main push other --rev eea13746799a --bookmark book_eea1
21061
62d35f251c60 bundle2: allow using bundle2 for push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21019
diff changeset
245 pushing to other
62d35f251c60 bundle2: allow using bundle2 for push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21019
diff changeset
246 searching for changes
21131
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
247 remote: adding changesets
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
248 remote: adding manifests
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
249 remote: adding file changes
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
250 remote: added 1 changesets with 0 changes to 0 files (-1 heads)
22350
6d113cc7a31a push: only push obsmarkers relevant to the "pushed subset"
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22347
diff changeset
251 remote: 1 new obsolescence markers
24850
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
252 remote: pre-close-tip:eea13746799a public book_eea1
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
253 remote: pushkey: lock state after "phases"
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
254 remote: lock: free
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
255 remote: wlock: free
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
256 remote: pushkey: lock state after "bookmarks"
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
257 remote: lock: free
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
258 remote: wlock: free
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
259 remote: postclose-tip:eea13746799a public book_eea1
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
260 remote: txnclose hook: HG_BOOKMARK_MOVED=1 HG_BUNDLE2=1 HG_NEW_OBSMARKERS=1 HG_NODE=eea13746799a9e0bfd88f29d3c2e9dc9389f524f HG_PHASES_MOVED=1 HG_SOURCE=push HG_TXNID=TXN:* HG_TXNNAME=push HG_URL=push (glob)
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
261 updating bookmark book_eea1
23437
94e2862dbcfb push: elevate phase transaction to cover entire operation
Eric Sumner <ericsumner@fb.com>
parents: 23389
diff changeset
262 pre-close-tip:02de42196ebe draft book_02de
94e2862dbcfb push: elevate phase transaction to cover entire operation
Eric Sumner <ericsumner@fb.com>
parents: 23389
diff changeset
263 postclose-tip:02de42196ebe draft book_02de
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
264 txnclose hook: HG_SOURCE=push-response HG_TXNID=TXN:* HG_TXNNAME=push-response (glob)
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
265 file:/*/$TESTTMP/other HG_URL=file:$TESTTMP/other (glob)
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
266 $ hg -R other log -G
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
267 o 3:eea13746799a public Nicolas Dumazet <nicdumz.commits@gmail.com> book_eea1 G
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
268 |\
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
269 | o 2:24b6387c8c8c public Nicolas Dumazet <nicdumz.commits@gmail.com> F
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
270 | |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
271 @ | 1:9520eea781bc public Nicolas Dumazet <nicdumz.commits@gmail.com> E
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
272 |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
273 o 0:cd010b8cd998 public Nicolas Dumazet <nicdumz.commits@gmail.com> book_02de book_32af book_42cc book_5fdd A
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
274
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
275 $ hg -R other debugobsolete
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
276 1111111111111111111111111111111111111111 9520eea781bcca16c1e15acc0ba14335a0e8e5ba 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
277 2222222222222222222222222222222222222222 24b6387c8c8cae37178880f3fa95ded3cb1cf785 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
278 3333333333333333333333333333333333333333 eea13746799a9e0bfd88f29d3c2e9dc9389f524f 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
21069
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
279
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
280 pull over ssh
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
281
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
282 $ hg -R other pull ssh://user@dummy/main -r 02de42196ebe --bookmark book_02de
21069
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
283 pulling from ssh://user@dummy/main
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
284 searching for changes
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
285 adding changesets
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
286 adding manifests
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
287 adding file changes
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
288 added 1 changesets with 1 changes to 1 files (+1 heads)
22354
a89add6c6b2f bundle2: pull obsmarkers relevant to the pulled set through bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22350
diff changeset
289 1 new obsolescence markers
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
290 updating bookmark book_02de
23361
936b0ff34346 phases: read pending data when appropriate
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23360
diff changeset
291 pre-close-tip:02de42196ebe draft book_02de
23359
1b2957b27203 test-bundle2: check visible data in pre/post-transaction hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23358
diff changeset
292 postclose-tip:02de42196ebe draft book_02de
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
293 txnclose hook: HG_BOOKMARK_MOVED=1 HG_NEW_OBSMARKERS=1 HG_NODE=02de42196ebee42ef284b6780a87cdc96e8eaab6 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_TXNNAME=pull (glob)
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
294 ssh://user@dummy/main HG_URL=ssh://user@dummy/main
21069
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
295 (run 'hg heads' to see heads, 'hg merge' to merge)
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
296 $ hg -R other debugobsolete
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
297 1111111111111111111111111111111111111111 9520eea781bcca16c1e15acc0ba14335a0e8e5ba 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
298 2222222222222222222222222222222222222222 24b6387c8c8cae37178880f3fa95ded3cb1cf785 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
299 3333333333333333333333333333333333333333 eea13746799a9e0bfd88f29d3c2e9dc9389f524f 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
300 4444444444444444444444444444444444444444 02de42196ebee42ef284b6780a87cdc96e8eaab6 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
21069
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
301
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
302 pull over http
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
303
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
304 $ hg -R main serve -p $HGPORT -d --pid-file=main.pid -E main-error.log
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
305 $ cat main.pid >> $DAEMON_PIDS
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
306
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
307 $ hg -R other pull http://localhost:$HGPORT/ -r 42ccdea3bb16 --bookmark book_42cc
21069
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
308 pulling from http://localhost:$HGPORT/
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
309 searching for changes
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
310 adding changesets
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
311 adding manifests
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
312 adding file changes
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
313 added 1 changesets with 1 changes to 1 files (+1 heads)
22354
a89add6c6b2f bundle2: pull obsmarkers relevant to the pulled set through bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22350
diff changeset
314 1 new obsolescence markers
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
315 updating bookmark book_42cc
23361
936b0ff34346 phases: read pending data when appropriate
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23360
diff changeset
316 pre-close-tip:42ccdea3bb16 draft book_42cc
23359
1b2957b27203 test-bundle2: check visible data in pre/post-transaction hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23358
diff changeset
317 postclose-tip:42ccdea3bb16 draft book_42cc
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
318 txnclose hook: HG_BOOKMARK_MOVED=1 HG_NEW_OBSMARKERS=1 HG_NODE=42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_TXNNAME=pull (glob)
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
319 http://localhost:$HGPORT/ HG_URL=http://localhost:$HGPORT/
21069
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
320 (run 'hg heads .' to see heads, 'hg merge' to merge)
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
321 $ cat main-error.log
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
322 $ hg -R other debugobsolete
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
323 1111111111111111111111111111111111111111 9520eea781bcca16c1e15acc0ba14335a0e8e5ba 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
324 2222222222222222222222222222222222222222 24b6387c8c8cae37178880f3fa95ded3cb1cf785 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
325 3333333333333333333333333333333333333333 eea13746799a9e0bfd88f29d3c2e9dc9389f524f 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
326 4444444444444444444444444444444444444444 02de42196ebee42ef284b6780a87cdc96e8eaab6 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
327 5555555555555555555555555555555555555555 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
21069
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
328
21075
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
329 push over ssh
21069
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
330
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
331 $ hg -R main push ssh://user@dummy/other -r 5fddd98957c8 --bookmark book_5fdd
21075
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
332 pushing to ssh://user@dummy/other
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
333 searching for changes
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
334 remote: adding changesets
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
335 remote: adding manifests
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
336 remote: adding file changes
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
337 remote: added 1 changesets with 1 changes to 1 files
22354
a89add6c6b2f bundle2: pull obsmarkers relevant to the pulled set through bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22350
diff changeset
338 remote: 1 new obsolescence markers
23360
e06daad65f85 bookmark: read pending data when appropriate
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23359
diff changeset
339 remote: pre-close-tip:5fddd98957c8 draft book_5fdd
23648
915ac9403e13 pushkey: run hook after the lock release
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
340 remote: pushkey: lock state after "bookmarks"
915ac9403e13 pushkey: run hook after the lock release
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
341 remote: lock: free
915ac9403e13 pushkey: run hook after the lock release
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
342 remote: wlock: free
23359
1b2957b27203 test-bundle2: check visible data in pre/post-transaction hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23358
diff changeset
343 remote: postclose-tip:5fddd98957c8 draft book_5fdd
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
344 remote: txnclose hook: HG_BOOKMARK_MOVED=1 HG_BUNDLE2=1 HG_NEW_OBSMARKERS=1 HG_NODE=5fddd98957c8a54a4d436dfe1da9d87f21a1b97b HG_SOURCE=serve HG_TXNID=TXN:* HG_TXNNAME=serve HG_URL=remote:ssh:127.0.0.1 (glob)
24850
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
345 updating bookmark book_5fdd
23437
94e2862dbcfb push: elevate phase transaction to cover entire operation
Eric Sumner <ericsumner@fb.com>
parents: 23389
diff changeset
346 pre-close-tip:02de42196ebe draft book_02de
94e2862dbcfb push: elevate phase transaction to cover entire operation
Eric Sumner <ericsumner@fb.com>
parents: 23389
diff changeset
347 postclose-tip:02de42196ebe draft book_02de
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
348 txnclose hook: HG_SOURCE=push-response HG_TXNID=TXN:* HG_TXNNAME=push-response (glob)
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
349 ssh://user@dummy/other HG_URL=ssh://user@dummy/other
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
350 $ hg -R other log -G
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
351 o 6:5fddd98957c8 draft Nicolas Dumazet <nicdumz.commits@gmail.com> book_5fdd C
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
352 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
353 o 5:42ccdea3bb16 draft Nicolas Dumazet <nicdumz.commits@gmail.com> book_42cc B
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
354 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
355 | o 4:02de42196ebe draft Nicolas Dumazet <nicdumz.commits@gmail.com> book_02de H
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
356 | |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
357 | | o 3:eea13746799a public Nicolas Dumazet <nicdumz.commits@gmail.com> book_eea1 G
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
358 | |/|
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
359 | o | 2:24b6387c8c8c public Nicolas Dumazet <nicdumz.commits@gmail.com> F
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
360 |/ /
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
361 | @ 1:9520eea781bc public Nicolas Dumazet <nicdumz.commits@gmail.com> E
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
362 |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
363 o 0:cd010b8cd998 public Nicolas Dumazet <nicdumz.commits@gmail.com> book_32af A
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
364
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
365 $ hg -R other debugobsolete
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
366 1111111111111111111111111111111111111111 9520eea781bcca16c1e15acc0ba14335a0e8e5ba 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
367 2222222222222222222222222222222222222222 24b6387c8c8cae37178880f3fa95ded3cb1cf785 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
368 3333333333333333333333333333333333333333 eea13746799a9e0bfd88f29d3c2e9dc9389f524f 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
369 4444444444444444444444444444444444444444 02de42196ebee42ef284b6780a87cdc96e8eaab6 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
370 5555555555555555555555555555555555555555 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
371 6666666666666666666666666666666666666666 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
21075
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
372
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
373 push over http
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
374
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
375 $ hg -R other serve -p $HGPORT2 -d --pid-file=other.pid -E other-error.log
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
376 $ cat other.pid >> $DAEMON_PIDS
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
377
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
378 $ hg -R main phase --public 32af7686d403
24822
8678b1eafbcf changelog: fix readpending if no pending data exist (issue4609)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24799
diff changeset
379 pre-close-tip:02de42196ebe draft book_02de
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
380 postclose-tip:02de42196ebe draft book_02de
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
381 txnclose hook: HG_PHASES_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=phase (glob)
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
382 $ hg -R main push http://localhost:$HGPORT2/ -r 32af7686d403 --bookmark book_32af
21075
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
383 pushing to http://localhost:$HGPORT2/
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
384 searching for changes
21131
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
385 remote: adding changesets
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
386 remote: adding manifests
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
387 remote: adding file changes
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
388 remote: added 1 changesets with 1 changes to 1 files
22354
a89add6c6b2f bundle2: pull obsmarkers relevant to the pulled set through bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22350
diff changeset
389 remote: 1 new obsolescence markers
24850
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
390 remote: pre-close-tip:32af7686d403 public book_32af
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
391 remote: pushkey: lock state after "phases"
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
392 remote: lock: free
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
393 remote: wlock: free
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
394 remote: pushkey: lock state after "bookmarks"
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
395 remote: lock: free
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
396 remote: wlock: free
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
397 remote: postclose-tip:32af7686d403 public book_32af
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
398 remote: txnclose hook: HG_BOOKMARK_MOVED=1 HG_BUNDLE2=1 HG_NEW_OBSMARKERS=1 HG_NODE=32af7686d403cf45b5d95f2d70cebea587ac806a HG_PHASES_MOVED=1 HG_SOURCE=serve HG_TXNID=TXN:* HG_TXNNAME=serve HG_URL=remote:http:127.0.0.1: (glob)
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
399 updating bookmark book_32af
23437
94e2862dbcfb push: elevate phase transaction to cover entire operation
Eric Sumner <ericsumner@fb.com>
parents: 23389
diff changeset
400 pre-close-tip:02de42196ebe draft book_02de
94e2862dbcfb push: elevate phase transaction to cover entire operation
Eric Sumner <ericsumner@fb.com>
parents: 23389
diff changeset
401 postclose-tip:02de42196ebe draft book_02de
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
402 txnclose hook: HG_SOURCE=push-response HG_TXNID=TXN:* HG_TXNNAME=push-response (glob)
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
403 http://localhost:$HGPORT2/ HG_URL=http://localhost:$HGPORT2/
21075
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
404 $ cat other-error.log
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
405
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
406 Check final content.
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
407
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
408 $ hg -R other log -G
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
409 o 7:32af7686d403 public Nicolas Dumazet <nicdumz.commits@gmail.com> book_32af D
21075
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
410 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
411 o 6:5fddd98957c8 public Nicolas Dumazet <nicdumz.commits@gmail.com> book_5fdd C
21075
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
412 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
413 o 5:42ccdea3bb16 public Nicolas Dumazet <nicdumz.commits@gmail.com> book_42cc B
21075
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
414 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
415 | o 4:02de42196ebe draft Nicolas Dumazet <nicdumz.commits@gmail.com> book_02de H
21075
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
416 | |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
417 | | o 3:eea13746799a public Nicolas Dumazet <nicdumz.commits@gmail.com> book_eea1 G
21647
1a6909f4ebb0 bundle2: use a smarter template for test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21628
diff changeset
418 | |/|
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
419 | o | 2:24b6387c8c8c public Nicolas Dumazet <nicdumz.commits@gmail.com> F
21647
1a6909f4ebb0 bundle2: use a smarter template for test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21628
diff changeset
420 |/ /
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
421 | @ 1:9520eea781bc public Nicolas Dumazet <nicdumz.commits@gmail.com> E
21647
1a6909f4ebb0 bundle2: use a smarter template for test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21628
diff changeset
422 |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
423 o 0:cd010b8cd998 public Nicolas Dumazet <nicdumz.commits@gmail.com> A
21075
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
424
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
425 $ hg -R other debugobsolete
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
426 1111111111111111111111111111111111111111 9520eea781bcca16c1e15acc0ba14335a0e8e5ba 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
427 2222222222222222222222222222222222222222 24b6387c8c8cae37178880f3fa95ded3cb1cf785 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
428 3333333333333333333333333333333333333333 eea13746799a9e0bfd88f29d3c2e9dc9389f524f 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
429 4444444444444444444444444444444444444444 02de42196ebee42ef284b6780a87cdc96e8eaab6 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
430 5555555555555555555555555555555555555555 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
431 6666666666666666666666666666666666666666 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
432 7777777777777777777777777777777777777777 32af7686d403cf45b5d95f2d70cebea587ac806a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
433
23358
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
434 (check that no 'pending' files remain)
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
435
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
436 $ ls -1 other/.hg/bookmarks*
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
437 other/.hg/bookmarks
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
438 $ ls -1 other/.hg/store/phaseroots*
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
439 other/.hg/store/phaseroots
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
440 $ ls -1 other/.hg/store/00changelog.i*
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
441 other/.hg/store/00changelog.i
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
442
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
443 Error Handling
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
444 ==============
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
445
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
446 Check that errors are properly returned to the client during push.
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
447
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
448 Setting up
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
449
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
450 $ cat > failpush.py << EOF
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
451 > """A small extension that makes push fails when using bundle2
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
452 >
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
453 > used to test error handling in bundle2
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
454 > """
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
455 >
26587
56b2bcea2529 error: get Abort from 'error' instead of 'util'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26566
diff changeset
456 > from mercurial import error
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
457 > from mercurial import bundle2
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
458 > from mercurial import exchange
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
459 > from mercurial import extensions
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
460 >
21905
7923648ad915 bundle2-test: use the new way to extend push content
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21649
diff changeset
461 > def _pushbundle2failpart(pushop, bundler):
21178
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
462 > reason = pushop.ui.config('failpush', 'reason', None)
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
463 > part = None
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
464 > if reason == 'abort':
21600
5e08f3b65510 bundle2: update all ``addpart`` callers to ``newpart``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21585
diff changeset
465 > bundler.newpart('test:abort')
21183
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
466 > if reason == 'unknown':
23591
414374cfb531 bundle2: lowercase part types
Eric Sumner <ericsumner@fb.com>
parents: 23437
diff changeset
467 > bundler.newpart('test:unknown')
21186
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
468 > if reason == 'race':
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
469 > # 20 Bytes of crap
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24285
diff changeset
470 > bundler.newpart('check:heads', data='01234567890123456789')
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
471 >
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
472 > @bundle2.parthandler("test:abort")
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
473 > def handleabort(op, part):
26587
56b2bcea2529 error: get Abort from 'error' instead of 'util'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26566
diff changeset
474 > raise error.Abort('Abandon ship!', hint="don't panic")
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
475 >
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
476 > def uisetup(ui):
22017
7986e99bb69a push: rework the bundle2partsgenerators logic
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21964
diff changeset
477 > exchange.b2partsgenmapping['failpart'] = _pushbundle2failpart
7986e99bb69a push: rework the bundle2partsgenerators logic
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21964
diff changeset
478 > exchange.b2partsgenorder.insert(0, 'failpart')
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
479 >
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
480 > EOF
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
481
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
482 $ cd main
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
483 $ hg up tip
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
484 3 files updated, 0 files merged, 1 files removed, 0 files unresolved
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
485 $ echo 'I' > I
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
486 $ hg add I
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
487 $ hg ci -m 'I'
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
488 pre-close-tip:e7ec4e813ba6 draft
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
489 postclose-tip:e7ec4e813ba6 draft
24740
d283517b260b transaction: introduce a transaction ID, to be available to all hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24738
diff changeset
490 txnclose hook: HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
491 $ hg id
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
492 e7ec4e813ba6 tip
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
493 $ cd ..
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
494
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
495 $ cat << EOF >> $HGRCPATH
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
496 > [extensions]
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
497 > failpush=$TESTTMP/failpush.py
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
498 > EOF
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
499
25474
8c14f87bd0ae tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents: 25472
diff changeset
500 $ killdaemons.py
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
501 $ hg -R other serve -p $HGPORT2 -d --pid-file=other.pid -E other-error.log
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
502 $ cat other.pid >> $DAEMON_PIDS
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
503
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
504 Doing the actual push: Abort error
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
505
21178
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
506 $ cat << EOF >> $HGRCPATH
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
507 > [failpush]
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
508 > reason = abort
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
509 > EOF
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
510
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
511 $ hg -R main push other -r e7ec4e813ba6
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
512 pushing to other
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
513 searching for changes
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
514 abort: Abandon ship!
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
515 (don't panic)
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
516 [255]
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
517
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
518 $ hg -R main push ssh://user@dummy/other -r e7ec4e813ba6
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
519 pushing to ssh://user@dummy/other
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
520 searching for changes
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
521 remote: Abandon ship!
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
522 abort: push failed on remote
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
523 (don't panic)
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
524 [255]
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
525
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
526 $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
527 pushing to http://localhost:$HGPORT2/
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
528 searching for changes
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
529 remote: Abandon ship!
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
530 abort: push failed on remote
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
531 (don't panic)
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
532 [255]
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
533
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
534
21183
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
535 Doing the actual push: unknown mandatory parts
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
536
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
537 $ cat << EOF >> $HGRCPATH
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
538 > [failpush]
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
539 > reason = unknown
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
540 > EOF
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
541
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
542 $ hg -R main push other -r e7ec4e813ba6
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
543 pushing to other
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
544 searching for changes
21617
0cfda08afd24 bundle2: rename UnknownPartError to BundleValueError
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21605
diff changeset
545 abort: missing support for test:unknown
21183
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
546 [255]
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
547
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
548 $ hg -R main push ssh://user@dummy/other -r e7ec4e813ba6
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
549 pushing to ssh://user@dummy/other
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
550 searching for changes
21617
0cfda08afd24 bundle2: rename UnknownPartError to BundleValueError
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21605
diff changeset
551 abort: missing support for test:unknown
21183
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
552 [255]
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
553
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
554 $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
555 pushing to http://localhost:$HGPORT2/
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
556 searching for changes
21617
0cfda08afd24 bundle2: rename UnknownPartError to BundleValueError
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21605
diff changeset
557 abort: missing support for test:unknown
21183
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
558 [255]
21186
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
559
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
560 Doing the actual push: race
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
561
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
562 $ cat << EOF >> $HGRCPATH
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
563 > [failpush]
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
564 > reason = race
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
565 > EOF
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
566
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
567 $ hg -R main push other -r e7ec4e813ba6
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
568 pushing to other
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
569 searching for changes
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
570 abort: push failed:
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
571 'repository changed while pushing - please try again'
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
572 [255]
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
573
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
574 $ hg -R main push ssh://user@dummy/other -r e7ec4e813ba6
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
575 pushing to ssh://user@dummy/other
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
576 searching for changes
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
577 abort: push failed:
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
578 'repository changed while pushing - please try again'
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
579 [255]
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
580
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
581 $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
582 pushing to http://localhost:$HGPORT2/
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
583 searching for changes
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
584 abort: push failed:
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
585 'repository changed while pushing - please try again'
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
586 [255]
21187
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
587
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
588 Doing the actual push: hook abort
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
589
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
590 $ cat << EOF >> $HGRCPATH
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
591 > [failpush]
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
592 > reason =
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
593 > [hooks]
24860
263ec70769cb test-bundle2-exchange: make hooks compatible with Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 24851
diff changeset
594 > pretxnclose.failpush = sh -c "echo 'You shall not pass!'; false"
263ec70769cb test-bundle2-exchange: make hooks compatible with Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 24851
diff changeset
595 > txnabort.failpush = sh -c "echo 'Cleaning up the mess...'"
21187
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
596 > EOF
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
597
25474
8c14f87bd0ae tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents: 25472
diff changeset
598 $ killdaemons.py
21187
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
599 $ hg -R other serve -p $HGPORT2 -d --pid-file=other.pid -E other-error.log
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
600 $ cat other.pid >> $DAEMON_PIDS
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
601
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
602 $ hg -R main push other -r e7ec4e813ba6
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
603 pushing to other
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
604 searching for changes
24799
d99d7e3f5cda bundle2-localpeer: properly propagate the server output on error (issue4594)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24797
diff changeset
605 remote: adding changesets
d99d7e3f5cda bundle2-localpeer: properly propagate the server output on error (issue4594)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24797
diff changeset
606 remote: adding manifests
d99d7e3f5cda bundle2-localpeer: properly propagate the server output on error (issue4594)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24797
diff changeset
607 remote: adding file changes
d99d7e3f5cda bundle2-localpeer: properly propagate the server output on error (issue4594)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24797
diff changeset
608 remote: added 1 changesets with 1 changes to 1 files
24850
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
609 remote: pre-close-tip:e7ec4e813ba6 draft
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
610 remote: You shall not pass!
24847
b705e5ab3b07 bundle2: capture transaction rollback message output (issue4614)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24822
diff changeset
611 remote: transaction abort!
24849
aff2aca3420e bundle2: also capture hook output during processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24847
diff changeset
612 remote: Cleaning up the mess...
24847
b705e5ab3b07 bundle2: capture transaction rollback message output (issue4614)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24822
diff changeset
613 remote: rollback completed
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
614 abort: pretxnclose.failpush hook exited with status 1
21187
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
615 [255]
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
616
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
617 $ hg -R main push ssh://user@dummy/other -r e7ec4e813ba6
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
618 pushing to ssh://user@dummy/other
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
619 searching for changes
24797
0c4d5e01b31f bundle2-wireproto: properly propagate the server output on error (issue4594)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24752
diff changeset
620 remote: adding changesets
0c4d5e01b31f bundle2-wireproto: properly propagate the server output on error (issue4594)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24752
diff changeset
621 remote: adding manifests
0c4d5e01b31f bundle2-wireproto: properly propagate the server output on error (issue4594)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24752
diff changeset
622 remote: adding file changes
0c4d5e01b31f bundle2-wireproto: properly propagate the server output on error (issue4594)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24752
diff changeset
623 remote: added 1 changesets with 1 changes to 1 files
24850
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
624 remote: pre-close-tip:e7ec4e813ba6 draft
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
625 remote: You shall not pass!
24847
b705e5ab3b07 bundle2: capture transaction rollback message output (issue4614)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24822
diff changeset
626 remote: transaction abort!
24849
aff2aca3420e bundle2: also capture hook output during processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24847
diff changeset
627 remote: Cleaning up the mess...
24847
b705e5ab3b07 bundle2: capture transaction rollback message output (issue4614)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24822
diff changeset
628 remote: rollback completed
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
629 remote: pretxnclose.failpush hook exited with status 1
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
630 abort: push failed on remote
21187
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
631 [255]
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
632
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
633 $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
634 pushing to http://localhost:$HGPORT2/
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
635 searching for changes
24797
0c4d5e01b31f bundle2-wireproto: properly propagate the server output on error (issue4594)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24752
diff changeset
636 remote: adding changesets
0c4d5e01b31f bundle2-wireproto: properly propagate the server output on error (issue4594)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24752
diff changeset
637 remote: adding manifests
0c4d5e01b31f bundle2-wireproto: properly propagate the server output on error (issue4594)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24752
diff changeset
638 remote: adding file changes
0c4d5e01b31f bundle2-wireproto: properly propagate the server output on error (issue4594)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24752
diff changeset
639 remote: added 1 changesets with 1 changes to 1 files
24850
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
640 remote: pre-close-tip:e7ec4e813ba6 draft
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
641 remote: You shall not pass!
24847
b705e5ab3b07 bundle2: capture transaction rollback message output (issue4614)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24822
diff changeset
642 remote: transaction abort!
24849
aff2aca3420e bundle2: also capture hook output during processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24847
diff changeset
643 remote: Cleaning up the mess...
24847
b705e5ab3b07 bundle2: capture transaction rollback message output (issue4614)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24822
diff changeset
644 remote: rollback completed
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
645 remote: pretxnclose.failpush hook exited with status 1
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
646 abort: push failed on remote
21187
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
647 [255]
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
648
23358
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
649 (check that no 'pending' files remain)
21187
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
650
23358
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
651 $ ls -1 other/.hg/bookmarks*
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
652 other/.hg/bookmarks
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
653 $ ls -1 other/.hg/store/phaseroots*
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
654 other/.hg/store/phaseroots
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
655 $ ls -1 other/.hg/store/00changelog.i*
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
656 other/.hg/store/00changelog.i
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
657
24851
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
658 Check error from hook during the unbundling process itself
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
659
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
660 $ cat << EOF >> $HGRCPATH
24860
263ec70769cb test-bundle2-exchange: make hooks compatible with Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 24851
diff changeset
661 > pretxnchangegroup = sh -c "echo 'Fail early!'; false"
24851
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
662 > EOF
25474
8c14f87bd0ae tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents: 25472
diff changeset
663 $ killdaemons.py # reload http config
24851
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
664 $ hg -R other serve -p $HGPORT2 -d --pid-file=other.pid -E other-error.log
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
665 $ cat other.pid >> $DAEMON_PIDS
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
666
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
667 $ hg -R main push other -r e7ec4e813ba6
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
668 pushing to other
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
669 searching for changes
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
670 remote: adding changesets
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
671 remote: adding manifests
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
672 remote: adding file changes
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
673 remote: added 1 changesets with 1 changes to 1 files
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
674 remote: Fail early!
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
675 remote: transaction abort!
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
676 remote: Cleaning up the mess...
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
677 remote: rollback completed
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
678 abort: pretxnchangegroup hook exited with status 1
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
679 [255]
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
680 $ hg -R main push ssh://user@dummy/other -r e7ec4e813ba6
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
681 pushing to ssh://user@dummy/other
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
682 searching for changes
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
683 remote: adding changesets
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
684 remote: adding manifests
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
685 remote: adding file changes
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
686 remote: added 1 changesets with 1 changes to 1 files
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
687 remote: Fail early!
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
688 remote: transaction abort!
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
689 remote: Cleaning up the mess...
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
690 remote: rollback completed
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
691 remote: pretxnchangegroup hook exited with status 1
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
692 abort: push failed on remote
24851
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
693 [255]
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
694 $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
695 pushing to http://localhost:$HGPORT2/
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
696 searching for changes
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
697 remote: adding changesets
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
698 remote: adding manifests
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
699 remote: adding file changes
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
700 remote: added 1 changesets with 1 changes to 1 files
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
701 remote: Fail early!
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
702 remote: transaction abort!
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
703 remote: Cleaning up the mess...
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
704 remote: rollback completed
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
705 remote: pretxnchangegroup hook exited with status 1
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
706 abort: push failed on remote
24851
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
707 [255]
24878
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
708
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
709 Check output capture control.
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
710
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
711 (should be still forced for http, disabled for local and ssh)
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
712
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
713 $ cat >> $HGRCPATH << EOF
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
714 > [experimental]
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
715 > bundle2-output-capture=False
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
716 > EOF
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
717
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
718 $ hg -R main push other -r e7ec4e813ba6
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
719 pushing to other
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
720 searching for changes
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
721 adding changesets
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
722 adding manifests
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
723 adding file changes
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
724 added 1 changesets with 1 changes to 1 files
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
725 Fail early!
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
726 transaction abort!
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
727 Cleaning up the mess...
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
728 rollback completed
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
729 abort: pretxnchangegroup hook exited with status 1
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
730 [255]
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
731 $ hg -R main push ssh://user@dummy/other -r e7ec4e813ba6
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
732 pushing to ssh://user@dummy/other
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
733 searching for changes
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
734 remote: adding changesets
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
735 remote: adding manifests
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
736 remote: adding file changes
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
737 remote: added 1 changesets with 1 changes to 1 files
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
738 remote: Fail early!
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
739 remote: transaction abort!
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
740 remote: Cleaning up the mess...
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
741 remote: rollback completed
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
742 remote: pretxnchangegroup hook exited with status 1
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
743 abort: push failed on remote
24878
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
744 [255]
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
745 $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
746 pushing to http://localhost:$HGPORT2/
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
747 searching for changes
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
748 remote: adding changesets
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
749 remote: adding manifests
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
750 remote: adding file changes
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
751 remote: added 1 changesets with 1 changes to 1 files
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
752 remote: Fail early!
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
753 remote: transaction abort!
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
754 remote: Cleaning up the mess...
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
755 remote: rollback completed
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
756 remote: pretxnchangegroup hook exited with status 1
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
757 abort: push failed on remote
24878
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
758 [255]
25481
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
759
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
760 Check abort from mandatory pushkey
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
761
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
762 $ cat > mandatorypart.py << EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
763 > from mercurial import exchange
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
764 > from mercurial import pushkey
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
765 > from mercurial import node
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
766 > from mercurial import error
25481
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
767 > @exchange.b2partsgenerator('failingpuskey')
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
768 > def addfailingpushey(pushop, bundler):
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
769 > enc = pushkey.encode
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
770 > part = bundler.newpart('pushkey')
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
771 > part.addparam('namespace', enc('phases'))
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
772 > part.addparam('key', enc(pushop.repo['cd010b8cd998'].hex()))
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
773 > part.addparam('old', enc(str(0))) # successful update
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
774 > part.addparam('new', enc(str(0)))
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
775 > def fail(pushop, exc):
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
776 > raise error.Abort('Correct phase push failed (because hooks)')
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
777 > pushop.pkfailcb[part.id] = fail
25481
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
778 > EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
779 $ cat >> $HGRCPATH << EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
780 > [hooks]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
781 > pretxnchangegroup=
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
782 > pretxnclose.failpush=
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
783 > prepushkey.failpush = sh -c "echo 'do not push the key !'; false"
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
784 > [extensions]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
785 > mandatorypart=$TESTTMP/mandatorypart.py
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
786 > EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
787 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS # reload http config
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
788 $ hg -R other serve -p $HGPORT2 -d --pid-file=other.pid -E other-error.log
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
789 $ cat other.pid >> $DAEMON_PIDS
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
790
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
791 (Failure from a hook)
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
792
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
793 $ hg -R main push other -r e7ec4e813ba6
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
794 pushing to other
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
795 searching for changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
796 adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
797 adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
798 adding file changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
799 added 1 changesets with 1 changes to 1 files
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
800 do not push the key !
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
801 pushkey-abort: prepushkey.failpush hook exited with status 1
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
802 transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
803 Cleaning up the mess...
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
804 rollback completed
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
805 abort: Correct phase push failed (because hooks)
25481
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
806 [255]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
807 $ hg -R main push ssh://user@dummy/other -r e7ec4e813ba6
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
808 pushing to ssh://user@dummy/other
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
809 searching for changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
810 remote: adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
811 remote: adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
812 remote: adding file changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
813 remote: added 1 changesets with 1 changes to 1 files
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
814 remote: do not push the key !
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
815 remote: pushkey-abort: prepushkey.failpush hook exited with status 1
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
816 remote: transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
817 remote: Cleaning up the mess...
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
818 remote: rollback completed
25493
d8e7b0781ad7 bundle2: convey PushkeyFailed error over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25485
diff changeset
819 abort: Correct phase push failed (because hooks)
25481
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
820 [255]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
821 $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
822 pushing to http://localhost:$HGPORT2/
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
823 searching for changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
824 remote: adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
825 remote: adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
826 remote: adding file changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
827 remote: added 1 changesets with 1 changes to 1 files
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
828 remote: do not push the key !
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
829 remote: pushkey-abort: prepushkey.failpush hook exited with status 1
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
830 remote: transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
831 remote: Cleaning up the mess...
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
832 remote: rollback completed
25493
d8e7b0781ad7 bundle2: convey PushkeyFailed error over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25485
diff changeset
833 abort: Correct phase push failed (because hooks)
25481
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
834 [255]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
835
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
836 (Failure from a the pushkey)
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
837
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
838 $ cat > mandatorypart.py << EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
839 > from mercurial import exchange
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
840 > from mercurial import pushkey
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
841 > from mercurial import node
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
842 > from mercurial import error
25481
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
843 > @exchange.b2partsgenerator('failingpuskey')
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
844 > def addfailingpushey(pushop, bundler):
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
845 > enc = pushkey.encode
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
846 > part = bundler.newpart('pushkey')
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
847 > part.addparam('namespace', enc('phases'))
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
848 > part.addparam('key', enc(pushop.repo['cd010b8cd998'].hex()))
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
849 > part.addparam('old', enc(str(4))) # will fail
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
850 > part.addparam('new', enc(str(3)))
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
851 > def fail(pushop, exc):
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
852 > raise error.Abort('Clown phase push failed')
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
853 > pushop.pkfailcb[part.id] = fail
25481
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
854 > EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
855 $ cat >> $HGRCPATH << EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
856 > [hooks]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
857 > prepushkey.failpush =
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
858 > EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
859 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS # reload http config
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
860 $ hg -R other serve -p $HGPORT2 -d --pid-file=other.pid -E other-error.log
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
861 $ cat other.pid >> $DAEMON_PIDS
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
862
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
863 $ hg -R main push other -r e7ec4e813ba6
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
864 pushing to other
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
865 searching for changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
866 adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
867 adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
868 adding file changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
869 added 1 changesets with 1 changes to 1 files
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
870 transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
871 Cleaning up the mess...
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
872 rollback completed
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
873 pushkey: lock state after "phases"
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
874 lock: free
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
875 wlock: free
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
876 abort: Clown phase push failed
25481
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
877 [255]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
878 $ hg -R main push ssh://user@dummy/other -r e7ec4e813ba6
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
879 pushing to ssh://user@dummy/other
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
880 searching for changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
881 remote: adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
882 remote: adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
883 remote: adding file changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
884 remote: added 1 changesets with 1 changes to 1 files
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
885 remote: transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
886 remote: Cleaning up the mess...
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
887 remote: rollback completed
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
888 remote: pushkey: lock state after "phases"
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
889 remote: lock: free
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
890 remote: wlock: free
25493
d8e7b0781ad7 bundle2: convey PushkeyFailed error over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25485
diff changeset
891 abort: Clown phase push failed
25481
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
892 [255]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
893 $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
894 pushing to http://localhost:$HGPORT2/
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
895 searching for changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
896 remote: adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
897 remote: adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
898 remote: adding file changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
899 remote: added 1 changesets with 1 changes to 1 files
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
900 remote: transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
901 remote: Cleaning up the mess...
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
902 remote: rollback completed
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
903 remote: pushkey: lock state after "phases"
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
904 remote: lock: free
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
905 remote: wlock: free
25493
d8e7b0781ad7 bundle2: convey PushkeyFailed error over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25485
diff changeset
906 abort: Clown phase push failed
25481
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
907 [255]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
908
26566
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
909 Test lazily acquiring the lock during unbundle
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
910 $ cp $TESTTMP/hgrc.orig $HGRCPATH
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
911 $ cat >> $HGRCPATH <<EOF
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
912 > [ui]
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
913 > ssh=python "$TESTDIR/dummyssh"
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
914 > EOF
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
915
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
916 $ cat >> $TESTTMP/locktester.py <<EOF
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
917 > import os
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
918 > from mercurial import extensions, bundle2, util
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
919 > def checklock(orig, repo, *args, **kwargs):
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
920 > if repo.svfs.lexists("lock"):
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
921 > raise util.Abort("Lock should not be taken")
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
922 > return orig(repo, *args, **kwargs)
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
923 > def extsetup(ui):
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
924 > extensions.wrapfunction(bundle2, 'processbundle', checklock)
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
925 > EOF
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
926
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
927 $ hg init lazylock
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
928 $ cat >> lazylock/.hg/hgrc <<EOF
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
929 > [extensions]
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
930 > locktester=$TESTTMP/locktester.py
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
931 > EOF
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
932
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
933 $ hg clone -q ssh://user@dummy/lazylock lazylockclient
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
934 $ cd lazylockclient
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
935 $ touch a && hg ci -Aqm a
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
936 $ hg push
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
937 pushing to ssh://user@dummy/lazylock
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
938 searching for changes
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
939 remote: Lock should not be taken
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
940 abort: push failed on remote
26566
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
941 [255]
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
942
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
943 $ cat >> ../lazylock/.hg/hgrc <<EOF
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
944 > [experimental]
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
945 > bundle2lazylocking=True
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
946 > EOF
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
947 $ hg push
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
948 pushing to ssh://user@dummy/lazylock
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
949 searching for changes
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
950 remote: adding changesets
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
951 remote: adding manifests
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
952 remote: adding file changes
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
953 remote: added 1 changesets with 1 changes to 1 files
27246
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
954
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
955 $ cd ..
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
956
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
957 Servers can disable bundle1 for clone/pull operations
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
958
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
959 $ killdaemons.py
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
960 $ hg init bundle2onlyserver
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
961 $ cd bundle2onlyserver
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
962 $ cat > .hg/hgrc << EOF
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
963 > [server]
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
964 > bundle1.pull = false
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
965 > EOF
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
966
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
967 $ touch foo
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
968 $ hg -q commit -A -m initial
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
969
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
970 $ hg serve -p $HGPORT -d --pid-file=hg.pid
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
971 $ cat hg.pid >> $DAEMON_PIDS
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
972
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
973 $ hg --config experimental.bundle2-exp=false clone http://localhost:$HGPORT/ not-bundle2
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
974 requesting all changes
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
975 abort: remote error:
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
976 incompatible Mercurial client; bundle2 required
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
977 (see https://www.mercurial-scm.org/wiki/IncompatibleClient)
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
978 [255]
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
979 $ killdaemons.py
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
980
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
981 Verify the global server.bundle1 option works
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
982
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
983 $ cat > .hg/hgrc << EOF
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
984 > [server]
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
985 > bundle1 = false
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
986 > EOF
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
987 $ hg serve -p $HGPORT -d --pid-file=hg.pid
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
988 $ cat hg.pid >> $DAEMON_PIDS
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
989 $ hg --config experimental.bundle2-exp=false clone http://localhost:$HGPORT not-bundle2
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
990 requesting all changes
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
991 abort: remote error:
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
992 incompatible Mercurial client; bundle2 required
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
993 (see https://www.mercurial-scm.org/wiki/IncompatibleClient)
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
994 [255]
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
995 $ killdaemons.py
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
996
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
997 Verify bundle1 pushes can be disabled
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
998
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
999 $ cat > .hg/hgrc << EOF
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1000 > [server]
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1001 > bundle1.push = false
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1002 > [web]
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1003 > allow_push = *
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1004 > push_ssl = false
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1005 > EOF
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1006
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1007 $ hg serve -p $HGPORT -d --pid-file=hg.pid -E error.log
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1008 $ cat hg.pid >> $DAEMON_PIDS
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1009 $ cd ..
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1010
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1011 $ hg clone http://localhost:$HGPORT bundle2-only
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1012 requesting all changes
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1013 adding changesets
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1014 adding manifests
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1015 adding file changes
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1016 added 1 changesets with 1 changes to 1 files
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1017 updating to branch default
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1018 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1019 $ cd bundle2-only
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1020 $ echo commit > foo
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1021 $ hg commit -m commit
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1022 $ hg --config experimental.bundle2-exp=false push
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1023 pushing to http://localhost:$HGPORT/
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1024 searching for changes
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1025 abort: remote error:
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1026 incompatible Mercurial client; bundle2 required
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1027 (see https://www.mercurial-scm.org/wiki/IncompatibleClient)
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1028 [255]
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1029
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1030 $ hg push
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1031 pushing to http://localhost:$HGPORT/
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1032 searching for changes
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1033 remote: adding changesets
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1034 remote: adding manifests
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1035 remote: adding file changes
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
1036 remote: added 1 changesets with 1 changes to 1 files