annotate tests/test-bundle2-exchange.t @ 25485:8182163ae983

push: catch and process PushkeyFailed error We add a way to register "pushkey failure callback" that will be used if the push is aborted by a pushkey failure. A part generator adding mandatory pushkey parts should register a failure callback for all of them. The callback will be in charge of generating a meaningful abort if this part fails. If no callback is registered, the error is propagated. Catch PushkeyFailed error in exchange.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Fri, 05 Jun 2015 16:30:11 -0700
parents 6de96cb31176
children d8e7b0781ad7
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
23759
cdfc47266e53 test-bundle2-exchange: create temp script in $TESTTMP, not $TESTDIR
Martin von Zweigbergk <martinvonz@google.com>
parents: 23672
diff changeset
10 $ 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
11 > 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
12 > hg debuglock
7853e8603f4a tests: make a multi-statement hook in bundle2-exchange Windows compatible
Matt Harbison <matt_harbison@yahoo.com>
parents: 23648
diff changeset
13 > EOF
7853e8603f4a tests: make a multi-statement hook in bundle2-exchange Windows compatible
Matt Harbison <matt_harbison@yahoo.com>
parents: 23648
diff changeset
14
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
15 $ 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
16 > [experimental]
22955
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22941
diff changeset
17 > 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
18 > 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
19 > 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
20 > [ui]
25476
46727fea7a00 tests: simplify calls to dummyssh
Matt Mackall <mpm@selenic.com>
parents: 25474
diff changeset
21 > ssh=dummyssh
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
22 > 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
23 > [web]
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
24 > push_ssl = false
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
25 > allow_push = *
21648
c26a11cdafeb bundle2: use non-publishing repo in test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21647
diff changeset
26 > [phases]
c26a11cdafeb bundle2: use non-publishing repo in test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21647
diff changeset
27 > 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
28 > [hooks]
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
29 > 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
30 > 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
31 > 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
32 > 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
33 > EOF
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
34
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
35 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
36
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
37 $ hg init main
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
38 $ 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
39 $ touch a
88db3e615319 bundle2: make sure the unbundler refuse non bundle2 stream
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20802
diff changeset
40 $ 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
41 $ 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
42 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
43 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
44 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
45
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
46 $ 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
47 adding changesets
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
48 adding manifests
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
49 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
50 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
51 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
52 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
53 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
54 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
55 (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
56
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
57 $ cd ..
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
58
20955
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
59 Real world exchange
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
60 =====================
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
61
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
62 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
63
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
64 $ 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
65 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
66 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
67 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
68 $ 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
69 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
70 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
71 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
72
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
73 clone --pull
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
74
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
75 $ 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
76 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
77 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
78 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
79 $ 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
80 adding changesets
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
81 adding manifests
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
82 adding file changes
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
83 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
84 1 new obsolescence markers
23361
936b0ff34346 phases: read pending data when appropriate
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23360
diff changeset
85 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
86 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
87 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
88 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
89 updating to branch default
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
90 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
91 $ 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
92 @ 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
93 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
94 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
95
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
96 $ 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
97 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
98
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
99 pull
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
100
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
101 $ 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
102 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
103 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
104 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
105 $ 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
106 pulling from $TESTTMP/main (glob)
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
107 searching for changes
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
108 adding changesets
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
109 adding manifests
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
110 adding file changes
21061
62d35f251c60 bundle2: allow using bundle2 for push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21019
diff changeset
111 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
112 1 new obsolescence markers
23361
936b0ff34346 phases: read pending data when appropriate
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23360
diff changeset
113 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
114 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
115 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
116 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
117 (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
118 $ 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
119 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
120 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
121 | @ 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
122 |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
123 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
124
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
125 $ 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
126 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
127 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
128
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
129 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
130
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
131 $ 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
132 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
133 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
134 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
135 $ 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
136 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
137 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
138 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
139 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
140 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
141 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
142 $ 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
143 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
144 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
145 | @ 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
146 |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
147 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
148
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
149 $ 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
150 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
151 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
152
21584
4dca1a06e7ee bundle2: fix bundle2 pulling all revs on empty pulls
Durham Goode <durham@fb.com>
parents: 21547
diff changeset
153 pull empty
4dca1a06e7ee bundle2: fix bundle2 pulling all revs on empty pulls
Durham Goode <durham@fb.com>
parents: 21547
diff changeset
154
4dca1a06e7ee bundle2: fix bundle2 pulling all revs on empty pulls
Durham Goode <durham@fb.com>
parents: 21547
diff changeset
155 $ 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
156 pulling from $TESTTMP/main (glob)
4dca1a06e7ee bundle2: fix bundle2 pulling all revs on empty pulls
Durham Goode <durham@fb.com>
parents: 21547
diff changeset
157 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
158 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
159 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
160 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
161 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
162 $ 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
163 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
164 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
165 | @ 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
166 |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
167 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
168
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
169 $ 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
170 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
171 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
172
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
173 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
174
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
175 $ hg -R main bookmark --rev eea13746799a book_eea1
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
176 $ 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
177 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
178 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
179 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
180 $ hg -R main bookmark --rev 02de42196ebe book_02de
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
181 $ 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
182 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
183 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
184 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
185 $ hg -R main bookmark --rev 42ccdea3bb16 book_42cc
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
186 $ 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
187 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
188 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
189 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
190 $ hg -R main bookmark --rev 5fddd98957c8 book_5fdd
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
191 $ 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
192 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
193 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
194 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
195 $ hg -R main bookmark --rev 32af7686d403 book_32af
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' 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
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
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
201 $ hg -R other bookmark --rev cd010b8cd998 book_eea1
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
202 $ hg -R other bookmark --rev cd010b8cd998 book_02de
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
203 $ hg -R other bookmark --rev cd010b8cd998 book_42cc
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
204 $ hg -R other bookmark --rev cd010b8cd998 book_5fdd
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
205 $ hg -R other bookmark --rev cd010b8cd998 book_32af
21061
62d35f251c60 bundle2: allow using bundle2 for push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21019
diff changeset
206
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
207 $ 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
208 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
209 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
210 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
211
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
212 push
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
213 $ 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
214 pushing to other
62d35f251c60 bundle2: allow using bundle2 for push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21019
diff changeset
215 searching for changes
21131
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
216 remote: adding changesets
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
217 remote: adding manifests
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
218 remote: adding file changes
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
219 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
220 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
221 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
222 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
223 remote: lock: free
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
224 remote: wlock: free
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
225 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
226 remote: lock: free
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
227 remote: wlock: free
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
228 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
229 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
230 updating bookmark book_eea1
23437
94e2862dbcfb push: elevate phase transaction to cover entire operation
Eric Sumner <ericsumner@fb.com>
parents: 23389
diff changeset
231 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
232 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
233 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
234 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
235 $ 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
236 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
237 |\
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
238 | 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
239 | |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
240 @ | 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
241 |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
242 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
243
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
244 $ 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
245 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
246 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
247 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
248
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
249 pull over ssh
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
250
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
251 $ 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
252 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
253 searching for changes
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
254 adding changesets
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
255 adding manifests
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
256 adding file changes
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
257 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
258 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
259 updating bookmark book_02de
23361
936b0ff34346 phases: read pending data when appropriate
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23360
diff changeset
260 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
261 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
262 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
263 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
264 (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
265 $ 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
266 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
267 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
268 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
269 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
270
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
271 pull over http
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
272
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
273 $ 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
274 $ 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
275
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
276 $ 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
277 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
278 searching for changes
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
279 adding changesets
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
280 adding manifests
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
281 adding file changes
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
282 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
283 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
284 updating bookmark book_42cc
23361
936b0ff34346 phases: read pending data when appropriate
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23360
diff changeset
285 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
286 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
287 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
288 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
289 (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
290 $ 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
291 $ 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
292 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
293 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
294 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
295 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
296 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
297
21075
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
298 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
299
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
300 $ 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
301 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
302 searching for changes
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
303 remote: adding changesets
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
304 remote: adding manifests
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
305 remote: adding file changes
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
306 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
307 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
308 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
309 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
310 remote: lock: free
915ac9403e13 pushkey: run hook after the lock release
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
311 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
312 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
313 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
314 updating bookmark book_5fdd
23437
94e2862dbcfb push: elevate phase transaction to cover entire operation
Eric Sumner <ericsumner@fb.com>
parents: 23389
diff changeset
315 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
316 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
317 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
318 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
319 $ 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
320 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
321 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
322 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
323 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
324 | 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
325 | |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
326 | | 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
327 | |/|
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
328 | 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
329 |/ /
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
330 | @ 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
331 |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
332 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
333
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
334 $ 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
335 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
336 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
337 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
338 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
339 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
340 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
341
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
342 push over http
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
343
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
344 $ 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
345 $ 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
346
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
347 $ 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
348 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
349 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
350 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
351 $ 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
352 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
353 searching for changes
21131
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
354 remote: adding changesets
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
355 remote: adding manifests
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
356 remote: adding file changes
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
357 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
358 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
359 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
360 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
361 remote: lock: free
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
362 remote: wlock: free
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
363 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
364 remote: lock: free
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
365 remote: wlock: free
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
366 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
367 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
368 updating bookmark book_32af
23437
94e2862dbcfb push: elevate phase transaction to cover entire operation
Eric Sumner <ericsumner@fb.com>
parents: 23389
diff changeset
369 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
370 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
371 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
372 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
373 $ cat other-error.log
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 Check final content.
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
376
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
377 $ 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
378 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
379 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
380 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
381 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
382 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
383 |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
384 | 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
385 | |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
386 | | 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
387 | |/|
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
388 | 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
389 |/ /
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
390 | @ 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
391 |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
392 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
393
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
394 $ 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
395 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
396 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
397 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
398 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
399 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
400 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
401 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
402
23358
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
403 (check that no 'pending' files remain)
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
404
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
405 $ ls -1 other/.hg/bookmarks*
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
406 other/.hg/bookmarks
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
407 $ ls -1 other/.hg/store/phaseroots*
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
408 other/.hg/store/phaseroots
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
409 $ 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
410 other/.hg/store/00changelog.i
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
411
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
412 Error Handling
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
413 ==============
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
414
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
415 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
416
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
417 Setting up
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
418
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
419 $ cat > failpush.py << EOF
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
420 > """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
421 >
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
422 > 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
423 > """
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
424 >
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
425 > from mercurial import util
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
426 > from mercurial import bundle2
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
427 > from mercurial import exchange
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
428 > from mercurial import extensions
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
429 >
21905
7923648ad915 bundle2-test: use the new way to extend push content
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21649
diff changeset
430 > def _pushbundle2failpart(pushop, bundler):
21178
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
431 > 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
432 > part = None
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
433 > if reason == 'abort':
21600
5e08f3b65510 bundle2: update all ``addpart`` callers to ``newpart``
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21585
diff changeset
434 > bundler.newpart('test:abort')
21183
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
435 > if reason == 'unknown':
23591
414374cfb531 bundle2: lowercase part types
Eric Sumner <ericsumner@fb.com>
parents: 23437
diff changeset
436 > 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
437 > if reason == 'race':
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
438 > # 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
439 > 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
440 >
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
441 > @bundle2.parthandler("test:abort")
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
442 > def handleabort(op, part):
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
443 > raise util.Abort('Abandon ship!', hint="don't panic")
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 > def uisetup(ui):
22017
7986e99bb69a push: rework the bundle2partsgenerators logic
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21964
diff changeset
446 > exchange.b2partsgenmapping['failpart'] = _pushbundle2failpart
7986e99bb69a push: rework the bundle2partsgenerators logic
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21964
diff changeset
447 > 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
448 >
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
449 > EOF
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
450
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
451 $ cd main
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
452 $ hg up tip
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
453 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
454 $ echo 'I' > I
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
455 $ hg add I
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
456 $ 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
457 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
458 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
459 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
460 $ hg id
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
461 e7ec4e813ba6 tip
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
462 $ cd ..
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
463
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
464 $ cat << EOF >> $HGRCPATH
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
465 > [extensions]
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
466 > failpush=$TESTTMP/failpush.py
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
467 > EOF
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
468
25474
8c14f87bd0ae tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents: 25472
diff changeset
469 $ killdaemons.py
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
470 $ 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
471 $ cat other.pid >> $DAEMON_PIDS
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
472
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
473 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
474
21178
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
475 $ cat << EOF >> $HGRCPATH
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
476 > [failpush]
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
477 > reason = abort
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
478 > EOF
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
479
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
480 $ 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
481 pushing to other
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
482 searching for changes
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
483 abort: Abandon ship!
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
484 (don't panic)
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
485 [255]
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
486
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
487 $ 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
488 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
489 searching for changes
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
490 abort: Abandon ship!
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
491 (don't panic)
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
492 [255]
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
493
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
494 $ 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
495 pushing to http://localhost:$HGPORT2/
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
496 searching for changes
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
497 abort: Abandon ship!
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
498 (don't panic)
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
499 [255]
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
500
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
501
21183
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
502 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
503
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
504 $ cat << EOF >> $HGRCPATH
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
505 > [failpush]
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
506 > reason = unknown
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
507 > EOF
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
508
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
509 $ 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
510 pushing to other
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
511 searching for changes
21617
0cfda08afd24 bundle2: rename UnknownPartError to BundleValueError
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21605
diff changeset
512 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
513 [255]
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
514
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
515 $ 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
516 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
517 searching for changes
21617
0cfda08afd24 bundle2: rename UnknownPartError to BundleValueError
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21605
diff changeset
518 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
519 [255]
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
520
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
521 $ 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
522 pushing to http://localhost:$HGPORT2/
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
523 searching for changes
21617
0cfda08afd24 bundle2: rename UnknownPartError to BundleValueError
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21605
diff changeset
524 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
525 [255]
21186
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
526
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
527 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
528
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
529 $ cat << EOF >> $HGRCPATH
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
530 > [failpush]
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
531 > reason = race
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
532 > EOF
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
533
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
534 $ 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
535 pushing to other
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
536 searching for changes
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
537 abort: push failed:
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
538 '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
539 [255]
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
540
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
541 $ 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
542 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
543 searching for changes
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
544 abort: push failed:
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
545 '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
546 [255]
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
547
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
548 $ 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
549 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
550 searching for changes
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
551 abort: push failed:
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
552 '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
553 [255]
21187
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
554
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
555 Doing the actual push: hook abort
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
556
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
557 $ cat << EOF >> $HGRCPATH
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
558 > [failpush]
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
559 > reason =
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
560 > [hooks]
24860
263ec70769cb test-bundle2-exchange: make hooks compatible with Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 24851
diff changeset
561 > 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
562 > 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
563 > EOF
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
564
25474
8c14f87bd0ae tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents: 25472
diff changeset
565 $ killdaemons.py
21187
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
566 $ 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
567 $ cat other.pid >> $DAEMON_PIDS
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
568
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
569 $ 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
570 pushing to other
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
571 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
572 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
573 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
574 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
575 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
576 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
577 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
578 remote: transaction abort!
24849
aff2aca3420e bundle2: also capture hook output during processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24847
diff changeset
579 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
580 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
581 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
582 [255]
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
583
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
584 $ 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
585 pushing to ssh://user@dummy/other
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
586 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
587 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
588 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
589 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
590 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
591 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
592 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
593 remote: transaction abort!
24849
aff2aca3420e bundle2: also capture hook output during processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24847
diff changeset
594 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
595 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
596 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
597 [255]
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
598
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
599 $ 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
600 pushing to http://localhost:$HGPORT2/
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
601 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
602 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
603 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
604 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
605 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
606 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
607 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
608 remote: transaction abort!
24849
aff2aca3420e bundle2: also capture hook output during processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24847
diff changeset
609 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
610 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
611 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
612 [255]
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
613
23358
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
614 (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
615
23358
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
616 $ ls -1 other/.hg/bookmarks*
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
617 other/.hg/bookmarks
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
618 $ ls -1 other/.hg/store/phaseroots*
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
619 other/.hg/store/phaseroots
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
620 $ 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
621 other/.hg/store/00changelog.i
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
622
24851
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
623 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
624
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
625 $ cat << EOF >> $HGRCPATH
24860
263ec70769cb test-bundle2-exchange: make hooks compatible with Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 24851
diff changeset
626 > 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
627 > EOF
25474
8c14f87bd0ae tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents: 25472
diff changeset
628 $ 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
629 $ 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
630 $ 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
631
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
632 $ 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
633 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
634 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
635 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
636 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
637 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
638 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
639 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
640 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
641 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
642 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
643 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
644 [255]
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
645 $ 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
646 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
647 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
648 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
649 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
650 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
651 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
652 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
653 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
654 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
655 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
656 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
657 [255]
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
658 $ 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
659 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
660 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
661 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
662 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
663 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
664 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
665 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
666 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
667 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
668 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
669 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
670 [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
671
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
672 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
673
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
674 (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
675
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
676 $ 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
677 > [experimental]
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
678 > 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
679 > EOF
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
680
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
681 $ 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
682 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
683 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
684 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
685 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
686 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
687 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
688 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
689 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
690 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
691 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
692 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
693 [255]
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
694 $ 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
695 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
696 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
697 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
698 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
699 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
700 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
701 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
702 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
703 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
704 remote: rollback completed
25192
36111f98f23d ssh: capture output with bundle2 again (issue4642)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24878
diff changeset
705 abort: pretxnchangegroup hook exited with status 1
24878
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
706 [255]
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
707 $ 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
708 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
709 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
710 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
711 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
712 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
713 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
714 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
715 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
716 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
717 remote: 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
718 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
719 [255]
25481
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
720
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
721 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
722
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
723 $ 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
724 > 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
725 > 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
726 > from mercurial import node
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
727 > 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
728 > @exchange.b2partsgenerator('failingpuskey')
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
729 > 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
730 > enc = pushkey.encode
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
731 > 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
732 > 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
733 > 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
734 > 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
735 > 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
736 > def fail(pushop, exc):
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
737 > 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
738 > 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
739 > EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
740 $ cat >> $HGRCPATH << EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
741 > [hooks]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
742 > pretxnchangegroup=
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
743 > pretxnclose.failpush=
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
744 > 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
745 > [extensions]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
746 > 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
747 > EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
748 $ "$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
749 $ 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
750 $ 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
751
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
752 (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
753
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
754 $ 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
755 pushing to other
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
756 searching for changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
757 adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
758 adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
759 adding file changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
760 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
761 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
762 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
763 transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
764 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
765 rollback completed
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
766 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
767 [255]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
768 $ 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
769 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
770 searching for changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
771 remote: adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
772 remote: adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
773 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
774 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
775 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
776 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
777 remote: transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
778 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
779 remote: rollback completed
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
780 abort: failed to update value for "phases/cd010b8cd998f3981a5a8115f94f8da4ab506089"
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
781 [255]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
782 $ 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
783 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
784 searching for changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
785 remote: adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
786 remote: adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
787 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
788 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
789 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
790 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
791 remote: transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
792 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
793 remote: rollback completed
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
794 abort: failed to update value for "phases/cd010b8cd998f3981a5a8115f94f8da4ab506089"
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
795 [255]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
796
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
797 (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
798
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
799 $ 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
800 > 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
801 > 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
802 > from mercurial import node
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
803 > 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
804 > @exchange.b2partsgenerator('failingpuskey')
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
805 > 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
806 > enc = pushkey.encode
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
807 > 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
808 > 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
809 > 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
810 > 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
811 > 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
812 > def fail(pushop, exc):
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
813 > 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
814 > 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
815 > EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
816 $ cat >> $HGRCPATH << EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
817 > [hooks]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
818 > prepushkey.failpush =
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
819 > EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
820 $ "$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
821 $ 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
822 $ 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
823
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
824 $ 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
825 pushing to other
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
826 searching for changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
827 adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
828 adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
829 adding file changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
830 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
831 transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
832 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
833 rollback completed
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
834 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
835 lock: free
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
836 wlock: free
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
837 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
838 [255]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
839 $ 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
840 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
841 searching for changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
842 remote: adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
843 remote: adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
844 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
845 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
846 remote: transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
847 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
848 remote: rollback completed
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
849 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
850 remote: lock: free
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
851 remote: wlock: free
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
852 abort: failed to update value for "phases/cd010b8cd998f3981a5a8115f94f8da4ab506089"
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
853 [255]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
854 $ 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
855 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
856 searching for changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
857 remote: adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
858 remote: adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
859 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
860 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
861 remote: transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
862 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
863 remote: rollback completed
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
864 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
865 remote: lock: free
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
866 remote: wlock: free
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
867 abort: failed to update value for "phases/cd010b8cd998f3981a5a8115f94f8da4ab506089"
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
868 [255]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
869