tests/test-bundle2-exchange.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Mon, 21 Dec 2020 11:20:31 +0100
changeset 46584 aa19d60ac974
parent 46417 768056549737
child 46977 3f87d2af0bd6
permissions -rw-r--r--
copies-rust: use simpler overwrite when value on both side are identical If the value are the same, their "overwritten" set is the same and we don't need to combine them. It helps our slower cases Repo Case Source-Rev Dest-Rev # of revisions old time new time Difference Factor time per rev --------------------------------------------------------------------------------------------------------------------------------------------------------------- mozilla-try x00000_revs_x00000_added_x0000_copies 1b661134e2ca 1ae03d022d6d : 228985 revs, 86.722016 s, 80.828689 s, -5.893327 s, × 0.9320, 352 µs/rev mozilla-try x00000_revs_x00000_added_x000_copies 9b2a99adc05e 8e29777b48e6 : 382065 revs, 35.113727 s, 34.094064 s, -1.019663 s, × 0.9710, 89 µs/rev Full comparison with the previous revision below: Repo Case Source-Rev Dest-Rev # of revisions old time new time Difference Factor time per rev --------------------------------------------------------------------------------------------------------------------------------------------------------------- mercurial x_revs_x_added_0_copies ad6b123de1c7 39cfcef4f463 : 1 revs, 0.000043 s, 0.000043 s, +0.000000 s, × 1.0000, 43 µs/rev mercurial x_revs_x_added_x_copies 2b1c78674230 0c1d10351869 : 6 revs, 0.000114 s, 0.000114 s, +0.000000 s, × 1.0000, 19 µs/rev mercurial x000_revs_x000_added_x_copies 81f8ff2a9bf2 dd3267698d84 : 1032 revs, 0.004899 s, 0.004899 s, +0.000000 s, × 1.0000, 4 µs/rev pypy x_revs_x_added_0_copies aed021ee8ae8 099ed31b181b : 9 revs, 0.000196 s, 0.000196 s, +0.000000 s, × 1.0000, 21 µs/rev pypy x_revs_x000_added_0_copies 4aa4e1f8e19a 359343b9ac0e : 1 revs, 0.000050 s, 0.000049 s, -0.000001 s, × 0.9800, 49 µs/rev pypy x_revs_x_added_x_copies ac52eb7bbbb0 72e022663155 : 7 revs, 0.000125 s, 0.000117 s, -0.000008 s, × 0.9360, 16 µs/rev pypy x_revs_x00_added_x_copies c3b14617fbd7 ace7255d9a26 : 1 revs, 0.000321 s, 0.6f1f4a s, +0.000001 s, × 1.0031, 322 µs/rev pypy x_revs_x000_added_x000_copies df6f7a526b60 a83dc6a2d56f : 6 revs, 0.011948 s, 0.011856 s, -0.000092 s, × 0.9923, 1976 µs/rev pypy x000_revs_xx00_added_0_copies 89a76aede314 2f22446ff07e : 4785 revs, 0.051267 s, 0.050992 s, -0.000275 s, × 0.9946, 10 µs/rev pypy x000_revs_x000_added_x_copies 8a3b5bfd266e 2c68e87c3efe : 6780 revs, 0.087755 s, 0.087444 s, -0.000311 s, × 0.9965, 12 µs/rev pypy x000_revs_x000_added_x000_copies 89a76aede314 7b3dda341c84 : 5441 revs, 0.061818 s, 0.062487 s, +0.000669 s, × 1.0108, 11 µs/rev pypy x0000_revs_x_added_0_copies d1defd0dc478 c9cb1334cc78 : 43645 revs, 0.634253 s, 0.634909 s, +0.000656 s, × 1.0010, 14 µs/rev pypy x0000_revs_xx000_added_0_copies bf2c629d0071 4ffed77c095c : 2 revs, 0.013179 s, 0.013360 s, +0.000181 s, × 1.0137, 6680 µs/rev pypy x0000_revs_xx000_added_x000_copies 08ea3258278e d9fa043f30c0 : 11316 revs, 0.119643 s, 0.120775 s, +0.001132 s, × 1.0095, 10 µs/rev netbeans x_revs_x_added_0_copies fb0955ffcbcd a01e9239f9e7 : 2 revs, 0.000085 s, 0.000085 s, +0.000000 s, × 1.0000, 42 µs/rev netbeans x_revs_x000_added_0_copies 6f360122949f 20eb231cc7d0 : 2 revs, 0.000107 s, 0.000108 s, +0.000001 s, × 1.0093, 54 µs/rev netbeans x_revs_x_added_x_copies 1ada3faf6fb6 5a39d12eecf4 : 3 revs, 0.000176 s, 0.000176 s, +0.000000 s, × 1.0000, 58 µs/rev netbeans x_revs_x00_added_x_copies 35be93ba1e2c 9eec5e90c05f : 9 revs, 0.000743 s, 0.000747 s, +0.000004 s, × 1.0054, 83 µs/rev netbeans x000_revs_xx00_added_0_copies eac3045b4fdd 51d4ae7f1290 : 1421 revs, 0.010246 s, 0.010128 s, -0.000118 s, × 0.9885, 7 µs/rev netbeans x000_revs_x000_added_x_copies e2063d266acd 6081d72689dc : 1533 revs, 0.015853 s, 0.015899 s, +0.000046 s, × 1.0029, 10 µs/rev netbeans x000_revs_x000_added_x000_copies ff453e9fee32 411350406ec2 : 5750 revs, 0.062971 s, 0.062215 s, -0.000756 s, × 0.9880, 10 µs/rev netbeans x0000_revs_xx000_added_x000_copies 588c2d1ced70 1aad62e59ddd : 66949 revs, 0.518337 s, 0.521004 s, +0.002667 s, × 1.0051, 7 µs/rev mozilla-central x_revs_x_added_0_copies 3697f962bb7b 7015fcdd43a2 : 2 revs, 0.000090 s, 0.000090 s, +0.000000 s, × 1.0000, 45 µs/rev mozilla-central x_revs_x000_added_0_copies dd390860c6c9 40d0c5bed75d : 8 revs, 0.000268 s, 0.000264 s, -0.000004 s, × 0.9851, 33 µs/rev mozilla-central x_revs_x_added_x_copies 8d198483ae3b 14207ffc2b2f : 9 revs, 0.000187 s, 0.000186 s, -0.000001 s, × 0.9947, 20 µs/rev mozilla-central x_revs_x00_added_x_copies 98cbc58cc6bc 446a150332c3 : 7 revs, 0.000661 s, 0.000660 s, -0.000001 s, × 0.9985, 94 µs/rev mozilla-central x_revs_x000_added_x000_copies 3c684b4b8f68 0a5e72d1b479 : 3 revs, 0.003494 s, 0.003542 s, +0.000048 s, × 1.0137, 1180 µs/rev mozilla-central x_revs_x0000_added_x0000_copies effb563bb7e5 c07a39dc4e80 : 6 revs, 0.070509 s, 0.071574 s, +0.001065 s, × 1.0151, 11929 µs/rev mozilla-central x000_revs_xx00_added_0_copies 6100d773079a 04a55431795e : 1593 revs, 0.006489 s, 0.006498 s, +0.000009 s, × 1.0014, 4 µs/rev mozilla-central x000_revs_x000_added_x_copies 9f17a6fc04f9 2d37b966abed : 41 revs, 0.005070 s, 0.005206 s, +0.000136 s, × 1.0268, 126 µs/rev mozilla-central x000_revs_x000_added_x000_copies 7c97034feb78 4407bd0c6330 : 7839 revs, 0.065241 s, 0.065535 s, +0.000294 s, × 1.0045, 8 µs/rev mozilla-central x0000_revs_xx000_added_0_copies 9eec5917337d 67118cc6dcad : 615 revs, 0.027284 s, 0.027139 s, -0.000145 s, × 0.9947, 44 µs/rev mozilla-central x0000_revs_xx000_added_x000_copies f78c615a656c 96a38b690156 : 30263 revs, 0.203671 s, 0.201924 s, -0.001747 s, × 0.9914, 6 µs/rev mozilla-central x00000_revs_x0000_added_x0000_copies 6832ae71433c 4c222a1d9a00 : 153721 revs, 1.239373 s, 1.257201 s, +0.017828 s, × 1.0144, 8 µs/rev mozilla-central x00000_revs_x00000_added_x000_copies 76caed42cf7c 1daa622bbe42 : 204976 revs, 1.649803 s, 1.663045 s, +0.013242 s, × 1.0080, 8 µs/rev mozilla-try x_revs_x_added_0_copies aaf6dde0deb8 9790f499805a : 2 revs, 0.000868 s, 0.000866 s, -0.000002 s, × 0.9977, 433 µs/rev mozilla-try x_revs_x000_added_0_copies d8d0222927b4 5bb8ce8c7450 : 2 revs, 0.000885 s, 0.000883 s, -0.000002 s, × 0.9977, 441 µs/rev mozilla-try x_revs_x_added_x_copies 092fcca11bdb 936255a0384a : 4 revs, 0.000165 s, 0.000163 s, -0.000002 s, × 0.9879, 40 µs/rev mozilla-try x_revs_x00_added_x_copies b53d2fadbdb5 017afae788ec : 2 revs, 0.001147 s, 0.001139 s, -0.000008 s, × 0.9930, 569 µs/rev mozilla-try x_revs_x000_added_x000_copies 20408ad61ce5 6f0ee96e21ad : 1 revs, 0.032885 s, 0.032753 s, -0.000132 s, × 0.9960, 32752 µs/rev mozilla-try x_revs_x0000_added_x0000_copies effb563bb7e5 c07a39dc4e80 : 6 revs, 0.071304 s, 0.073266 s, +0.001962 s, × 1.0275, 12211 µs/rev mozilla-try x000_revs_xx00_added_0_copies 6100d773079a 04a55431795e : 1593 revs, 0.006506 s, 0.006567 s, +0.000061 s, × 1.0094, 4 µs/rev mozilla-try x000_revs_x000_added_x_copies 9f17a6fc04f9 2d37b966abed : 41 revs, 0.005486 s, 0.005427 s, -0.000059 s, × 0.9892, 132 µs/rev mozilla-try x000_revs_x000_added_x000_copies 1346fd0130e4 4c65cbdabc1f : 6657 revs, 0.064677 s, 0.064058 s, -0.000619 s, × 0.9904, 9 µs/rev mozilla-try x0000_revs_x_added_0_copies 63519bfd42ee a36a2a865d92 : 40314 revs, 0.306000 s, 0.303320 s, -0.002680 s, × 0.9912, 7 µs/rev mozilla-try x0000_revs_x_added_x_copies 9fe69ff0762d bcabf2a78927 : 38690 revs, 0.288217 s, 0.288456 s, +0.000239 s, × 1.0008, 7 µs/rev mozilla-try x0000_revs_xx000_added_x_copies 156f6e2674f2 4d0f2c178e66 : 8598 revs, 0.086117 s, 0.085925 s, -0.000192 s, × 0.9978, 9 µs/rev mozilla-try x0000_revs_xx000_added_0_copies 9eec5917337d 67118cc6dcad : 615 revs, 0.027512 s, 0.027302 s, -0.000210 s, × 0.9924, 44 µs/rev mozilla-try x0000_revs_xx000_added_x000_copies 89294cd501d9 7ccb2fc7ccb5 : 97052 revs, 1.998239 s, 2.034596 s, +0.036357 s, × 1.0182, 20 µs/rev mozilla-try x0000_revs_x0000_added_x0000_copies e928c65095ed e951f4ad123a : 52031 revs, 0.688201 s, 0.694030 s, +0.005829 s, × 1.0085, 13 µs/rev mozilla-try x00000_revs_x_added_0_copies 6a320851d377 1ebb79acd503 : 363753 revs, 4.389428 s, 4.407723 s, +0.018295 s, × 1.0042, 12 µs/rev mozilla-try x00000_revs_x00000_added_0_copies dc8a3ca7010e d16fde900c9c : 34414 revs, 0.578736 s, 0.574355 s, -0.004381 s, × 0.9924, 16 µs/rev mozilla-try x00000_revs_x_added_x_copies 5173c4b6f97c 95d83ee7242d : 362229 revs, 4.363599 s, 4.457827 s, +0.094228 s, × 1.0216, 12 µs/rev mozilla-try x00000_revs_x000_added_x_copies 9126823d0e9c ca82787bb23c : 359344 revs, 4.324129 s, 4.351696 s, +0.027567 s, × 1.0064, 12 µs/rev mozilla-try x00000_revs_x0000_added_x0000_copies 8d3fafa80d4b eb884023b810 : 192665 revs, 1.565727 s, 1.570065 s, +0.004338 s, × 1.0028, 8 µs/rev mozilla-try x00000_revs_x00000_added_x0000_copies 1b661134e2ca 1ae03d022d6d : 228985 revs, 86.722016 s, 80.828689 s, -5.893327 s, × 0.9320, 352 µs/rev mozilla-try x00000_revs_x00000_added_x000_copies 9b2a99adc05e 8e29777b48e6 : 382065 revs, 35.113727 s, 34.094064 s, -1.019663 s, × 0.9710, 89 µs/rev private : 459513 revs, 27.397070 s, 27.435529 s, +0.038459 s, × 1.0014, 59 µs/rev Differential Revision: https://phab.mercurial-scm.org/D9655
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
36217
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
     1
#testcases sshv1 sshv2
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
     2
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
     3
#if sshv2
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
     4
  $ cat >> $HGRCPATH << EOF
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
     5
  > [experimental]
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
     6
  > sshpeer.advertise-v2 = true
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
     7
  > sshserver.support-v2 = true
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
     8
  > EOF
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
     9
#endif
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
    10
22660
978cce51cc5f bundle2: split test in two
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22659
diff changeset
    11
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
    12
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
    13
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
    14
  $ getmainid() {
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
    15
  >    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
    16
  > }
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    17
22660
978cce51cc5f bundle2: split test in two
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22659
diff changeset
    18
enable obsolescence
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    19
26566
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
    20
  $ cp $HGRCPATH $TESTTMP/hgrc.orig
23759
cdfc47266e53 test-bundle2-exchange: create temp script in $TESTTMP, not $TESTDIR
Martin von Zweigbergk <martinvonz@google.com>
parents: 23672
diff changeset
    21
  $ 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
    22
  > 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
    23
  > hg debuglock
7853e8603f4a tests: make a multi-statement hook in bundle2-exchange Windows compatible
Matt Harbison <matt_harbison@yahoo.com>
parents: 23648
diff changeset
    24
  > EOF
7853e8603f4a tests: make a multi-statement hook in bundle2-exchange Windows compatible
Matt Harbison <matt_harbison@yahoo.com>
parents: 23648
diff changeset
    25
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    26
  $ 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
    27
  > [experimental]
34866
1644623ab096 config: use 'experimental.evolution.create-markers'
Boris Feld <boris.feld@octobus.net>
parents: 34836
diff changeset
    28
  > evolution.createmarkers=True
34868
44797aedfb35 config: use 'experimental.evolution.exchange'
Boris Feld <boris.feld@octobus.net>
parents: 34866
diff changeset
    29
  > evolution.exchange=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
    30
  > 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
    31
  > [ui]
33335
72f051f9a7d8 tests: quote $PYTHON for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 33286
diff changeset
    32
  > ssh="$PYTHON" "$TESTDIR/dummyssh"
45765
ed84a4d48910 config: add a new [command-templates] section for templates defined by hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 42897
diff changeset
    33
  > [command-templates]
ed84a4d48910 config: add a new [command-templates] section for templates defined by hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 42897
diff changeset
    34
  > log={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
    35
  > [web]
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
    36
  > push_ssl = false
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
    37
  > allow_push = *
21648
c26a11cdafeb bundle2: use non-publishing repo in test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21647
diff changeset
    38
  > [phases]
c26a11cdafeb bundle2: use non-publishing repo in test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21647
diff changeset
    39
  > 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
    40
  > [hooks]
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
    41
  > 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
    42
  > 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
    43
  > 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
    44
  > 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
    45
  > EOF
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    46
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    47
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
    48
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    49
  $ hg init main
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    50
  $ 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
    51
  $ touch a
88db3e615319 bundle2: make sure the unbundler refuse non bundle2 stream
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20802
diff changeset
    52
  $ 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
    53
  $ 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
    54
  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
    55
  postclose-tip:3903775176ed draft 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
    56
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_PHASES_MOVED=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=commit
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    57
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
    58
  $ 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
    59
  adding changesets
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
    60
  adding manifests
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
    61
  adding file changes
42897
d7304434390f changegroup: move message about added changes to transaction summary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42894
diff changeset
    62
  pre-close-tip:02de42196ebe draft 
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
    63
  added 8 changesets with 7 changes to 7 files (+3 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 38603
diff changeset
    64
  new changesets cd010b8cd998:02de42196ebe (8 drafts)
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
    65
  postclose-tip:02de42196ebe draft 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
    66
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NODE=cd010b8cd998f3981a5a8115f94f8da4ab506089 HG_NODE_LAST=02de42196ebee42ef284b6780a87cdc96e8eaab6 HG_PHASES_MOVED=1 HG_SOURCE=unbundle HG_TXNID=TXN:$ID$ HG_TXNNAME=unbundle
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
    67
  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
    68
  (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
    69
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
    70
  $ cd ..
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
    71
20955
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
    72
Real world exchange
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
    73
=====================
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
    74
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
    75
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
    76
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
    77
  $ hg -R main debugobsolete -d '0 0' 1111111111111111111111111111111111111111 `getmainid 9520eea781bc`
42894
38392d5bde8e transaction: issue "new obsmarkers" message at the end of the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42893
diff changeset
    78
  pre-close-tip:02de42196ebe draft 
42893
34a46d48d24e debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 40369
diff changeset
    79
  1 new obsolescence markers
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
    80
  postclose-tip:02de42196ebe draft 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
    81
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=debugobsolete
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
    82
  $ hg -R main debugobsolete -d '0 0' 2222222222222222222222222222222222222222 `getmainid 24b6387c8c8c`
42894
38392d5bde8e transaction: issue "new obsmarkers" message at the end of the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42893
diff changeset
    83
  pre-close-tip:02de42196ebe draft 
42893
34a46d48d24e debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 40369
diff changeset
    84
  1 new obsolescence markers
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
    85
  postclose-tip:02de42196ebe draft 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
    86
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=debugobsolete
20955
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
    87
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
    88
clone --pull
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
    89
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
    90
  $ 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
    91
  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
    92
  postclose-tip:02de42196ebe draft 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
    93
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_PHASES_MOVED=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=phase
20955
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
    94
  $ 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
    95
  adding changesets
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
    96
  adding manifests
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
    97
  adding file changes
42897
d7304434390f changegroup: move message about added changes to transaction summary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42894
diff changeset
    98
  pre-close-tip:9520eea781bc draft 
20955
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
    99
  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
   100
  1 new obsolescence markers
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 38603
diff changeset
   101
  new changesets cd010b8cd998:9520eea781bc (1 drafts)
23359
1b2957b27203 test-bundle2: check visible data in pre/post-transaction hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23358
diff changeset
   102
  postclose-tip:9520eea781bc draft 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   103
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_NODE=cd010b8cd998f3981a5a8115f94f8da4ab506089 HG_NODE_LAST=9520eea781bcca16c1e15acc0ba14335a0e8e5ba HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_TXNNAME=pull
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
   104
  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
   105
  updating to branch default
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
   106
  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
   107
  $ 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
   108
  @  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
   109
  |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   110
  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
   111
  
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
   112
  $ 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
   113
  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
   114
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
   115
pull
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
   116
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
   117
  $ 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
   118
  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
   119
  postclose-tip:02de42196ebe draft 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   120
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_PHASES_MOVED=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=phase
21061
62d35f251c60 bundle2: allow using bundle2 for push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21019
diff changeset
   121
  $ hg -R other pull -r 24b6387c8c8c
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35264
diff changeset
   122
  pulling from $TESTTMP/main
20955
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
   123
  searching for changes
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
   124
  adding changesets
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
   125
  adding manifests
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
   126
  adding file changes
42897
d7304434390f changegroup: move message about added changes to transaction summary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42894
diff changeset
   127
  pre-close-tip:24b6387c8c8c draft 
21061
62d35f251c60 bundle2: allow using bundle2 for push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21019
diff changeset
   128
  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
   129
  1 new obsolescence markers
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 38603
diff changeset
   130
  new changesets 24b6387c8c8c (1 drafts)
23359
1b2957b27203 test-bundle2: check visible data in pre/post-transaction hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23358
diff changeset
   131
  postclose-tip:24b6387c8c8c draft 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   132
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_NODE=24b6387c8c8cae37178880f3fa95ded3cb1cf785 HG_NODE_LAST=24b6387c8c8cae37178880f3fa95ded3cb1cf785 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_TXNNAME=pull
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
   133
  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
   134
  (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
   135
  $ 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
   136
  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
   137
  |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   138
  | @  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
   139
  |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   140
  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
   141
  
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
   142
  $ 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
   143
  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
   144
  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
   145
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
   146
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
   147
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
   148
  $ 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
   149
  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
   150
  postclose-tip:02de42196ebe draft 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   151
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_PHASES_MOVED=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=phase
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
   152
  $ hg -R other pull -r 24b6387c8c8c
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35264
diff changeset
   153
  pulling from $TESTTMP/main
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
   154
  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
   155
  pre-close-tip:24b6387c8c8c public 
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
   156
  1 local changesets published
23359
1b2957b27203 test-bundle2: check visible data in pre/post-transaction hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23358
diff changeset
   157
  postclose-tip:24b6387c8c8c public 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   158
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=0 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_TXNNAME=pull
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
   159
  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
   160
  $ 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
   161
  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
   162
  |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   163
  | @  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
   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
  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
   166
  
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
   167
  $ 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
   168
  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
   169
  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
   170
21584
4dca1a06e7ee bundle2: fix bundle2 pulling all revs on empty pulls
Durham Goode <durham@fb.com>
parents: 21547
diff changeset
   171
pull empty
4dca1a06e7ee bundle2: fix bundle2 pulling all revs on empty pulls
Durham Goode <durham@fb.com>
parents: 21547
diff changeset
   172
4dca1a06e7ee bundle2: fix bundle2 pulling all revs on empty pulls
Durham Goode <durham@fb.com>
parents: 21547
diff changeset
   173
  $ hg -R other pull -r 24b6387c8c8c
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35264
diff changeset
   174
  pulling from $TESTTMP/main
21584
4dca1a06e7ee bundle2: fix bundle2 pulling all revs on empty pulls
Durham Goode <durham@fb.com>
parents: 21547
diff changeset
   175
  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
   176
  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
   177
  postclose-tip:24b6387c8c8c public 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   178
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=0 HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_TXNNAME=pull
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
   179
  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
   180
  $ 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
   181
  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
   182
  |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   183
  | @  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
   184
  |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   185
  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
   186
  
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
   187
  $ 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
   188
  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
   189
  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
   190
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   191
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
   192
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   193
  $ hg -R main bookmark --rev eea13746799a book_eea1
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   194
  pre-close-tip:02de42196ebe draft 
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   195
  postclose-tip:02de42196ebe draft 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   196
  txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_TXNID=TXN:$ID$ HG_TXNNAME=bookmark
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
   197
  $ hg -R main debugobsolete -d '0 0' 3333333333333333333333333333333333333333 `getmainid eea13746799a`
42894
38392d5bde8e transaction: issue "new obsmarkers" message at the end of the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42893
diff changeset
   198
  pre-close-tip:02de42196ebe draft 
42893
34a46d48d24e debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 40369
diff changeset
   199
  1 new obsolescence markers
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
   200
  postclose-tip:02de42196ebe draft 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   201
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=debugobsolete
22241
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 main bookmark --rev 02de42196ebe book_02de
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   203
  pre-close-tip:02de42196ebe draft book_02de
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   204
  postclose-tip:02de42196ebe draft book_02de
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   205
  txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_TXNID=TXN:$ID$ HG_TXNNAME=bookmark
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
   206
  $ hg -R main debugobsolete -d '0 0' 4444444444444444444444444444444444444444 `getmainid 02de42196ebe`
42894
38392d5bde8e transaction: issue "new obsmarkers" message at the end of the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42893
diff changeset
   207
  pre-close-tip:02de42196ebe draft book_02de
42893
34a46d48d24e debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 40369
diff changeset
   208
  1 new obsolescence markers
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
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   210
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=debugobsolete
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   211
  $ hg -R main bookmark --rev 42ccdea3bb16 book_42cc
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   212
  pre-close-tip:02de42196ebe draft book_02de
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   213
  postclose-tip:02de42196ebe draft book_02de
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   214
  txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_TXNID=TXN:$ID$ HG_TXNNAME=bookmark
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
   215
  $ hg -R main debugobsolete -d '0 0' 5555555555555555555555555555555555555555 `getmainid 42ccdea3bb16`
42894
38392d5bde8e transaction: issue "new obsmarkers" message at the end of the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42893
diff changeset
   216
  pre-close-tip:02de42196ebe draft book_02de
42893
34a46d48d24e debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 40369
diff changeset
   217
  1 new obsolescence markers
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
   218
  postclose-tip:02de42196ebe draft book_02de
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   219
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=debugobsolete
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   220
  $ hg -R main bookmark --rev 5fddd98957c8 book_5fdd
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   221
  pre-close-tip:02de42196ebe draft book_02de
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   222
  postclose-tip:02de42196ebe draft book_02de
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   223
  txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_TXNID=TXN:$ID$ HG_TXNNAME=bookmark
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
   224
  $ hg -R main debugobsolete -d '0 0' 6666666666666666666666666666666666666666 `getmainid 5fddd98957c8`
42894
38392d5bde8e transaction: issue "new obsmarkers" message at the end of the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42893
diff changeset
   225
  pre-close-tip:02de42196ebe draft book_02de
42893
34a46d48d24e debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 40369
diff changeset
   226
  1 new obsolescence markers
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
   227
  postclose-tip:02de42196ebe draft book_02de
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   228
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=debugobsolete
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   229
  $ hg -R main bookmark --rev 32af7686d403 book_32af
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   230
  pre-close-tip:02de42196ebe draft book_02de
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   231
  postclose-tip:02de42196ebe draft book_02de
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   232
  txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_TXNID=TXN:$ID$ HG_TXNNAME=bookmark
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
   233
  $ hg -R main debugobsolete -d '0 0' 7777777777777777777777777777777777777777 `getmainid 32af7686d403`
42894
38392d5bde8e transaction: issue "new obsmarkers" message at the end of the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42893
diff changeset
   234
  pre-close-tip:02de42196ebe draft book_02de
42893
34a46d48d24e debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 40369
diff changeset
   235
  1 new obsolescence markers
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
   236
  postclose-tip:02de42196ebe draft book_02de
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   237
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=debugobsolete
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   238
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   239
  $ hg -R other bookmark --rev cd010b8cd998 book_eea1
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   240
  pre-close-tip:24b6387c8c8c public 
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   241
  postclose-tip:24b6387c8c8c public 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   242
  txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_TXNID=TXN:$ID$ HG_TXNNAME=bookmark
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   243
  $ hg -R other bookmark --rev cd010b8cd998 book_02de
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   244
  pre-close-tip:24b6387c8c8c public 
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   245
  postclose-tip:24b6387c8c8c public 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   246
  txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_TXNID=TXN:$ID$ HG_TXNNAME=bookmark
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   247
  $ hg -R other bookmark --rev cd010b8cd998 book_42cc
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   248
  pre-close-tip:24b6387c8c8c public 
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   249
  postclose-tip:24b6387c8c8c public 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   250
  txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_TXNID=TXN:$ID$ HG_TXNNAME=bookmark
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 bookmark --rev cd010b8cd998 book_5fdd
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   252
  pre-close-tip:24b6387c8c8c public 
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   253
  postclose-tip:24b6387c8c8c public 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   254
  txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_TXNID=TXN:$ID$ HG_TXNNAME=bookmark
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   255
  $ hg -R other bookmark --rev cd010b8cd998 book_32af
25744
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   256
  pre-close-tip:24b6387c8c8c public 
e78a80f8f51e bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   257
  postclose-tip:24b6387c8c8c public 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   258
  txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_TXNID=TXN:$ID$ HG_TXNNAME=bookmark
21061
62d35f251c60 bundle2: allow using bundle2 for push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21019
diff changeset
   259
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
   260
  $ 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
   261
  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
   262
  postclose-tip:02de42196ebe draft book_02de
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   263
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_PHASES_MOVED=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=phase
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   264
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   265
push
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   266
  $ 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
   267
  pushing to other
62d35f251c60 bundle2: allow using bundle2 for push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21019
diff changeset
   268
  searching for changes
21131
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   269
  remote: adding changesets
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   270
  remote: adding manifests
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   271
  remote: adding file changes
42897
d7304434390f changegroup: move message about added changes to transaction summary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42894
diff changeset
   272
  remote: pre-close-tip:eea13746799a public book_eea1
21131
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   273
  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
   274
  remote: 1 new obsolescence markers
35811
e35320ce8043 bookmarks: fix pushkey compatibility mode (issue5777)
Boris Feld <boris.feld@octobus.net>
parents: 35655
diff changeset
   275
  remote: pushkey: lock state after "bookmarks"
35655
2f54a3e228ff bookmark: run 'pushkey' hooks after bookmark move, not 'prepushkey'
Boris Feld <boris.feld@octobus.net>
parents: 35393
diff changeset
   276
  remote: lock:  free
2f54a3e228ff bookmark: run 'pushkey' hooks after bookmark move, not 'prepushkey'
Boris Feld <boris.feld@octobus.net>
parents: 35393
diff changeset
   277
  remote: wlock: free
24850
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
   278
  remote: postclose-tip:eea13746799a public book_eea1
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   279
  remote: txnclose hook: HG_BOOKMARK_MOVED=1 HG_BUNDLE2=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_NODE=eea13746799a9e0bfd88f29d3c2e9dc9389f524f HG_NODE_LAST=eea13746799a9e0bfd88f29d3c2e9dc9389f524f HG_PHASES_MOVED=1 HG_SOURCE=push HG_TXNID=TXN:$ID$ HG_TXNNAME=push HG_URL=file:$TESTTMP/other
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   280
  updating bookmark book_eea1
23437
94e2862dbcfb push: elevate phase transaction to cover entire operation
Eric Sumner <ericsumner@fb.com>
parents: 23389
diff changeset
   281
  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
   282
  postclose-tip:02de42196ebe draft book_02de
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   283
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_SOURCE=push-response HG_TXNID=TXN:$ID$ HG_TXNNAME=push-response
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
   284
  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
   285
  $ 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
   286
  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
   287
  |\
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   288
  | 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
   289
  | |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   290
  @ |  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
   291
  |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   292
  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
   293
  
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
   294
  $ 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
   295
  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
   296
  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
   297
  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
   298
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
   299
pull over ssh
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
   300
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   301
  $ 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
   302
  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
   303
  searching for changes
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
   304
  adding changesets
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
   305
  adding manifests
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
   306
  adding file changes
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   307
  updating bookmark book_02de
23361
936b0ff34346 phases: read pending data when appropriate
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23360
diff changeset
   308
  pre-close-tip:02de42196ebe draft book_02de
42897
d7304434390f changegroup: move message about added changes to transaction summary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42894
diff changeset
   309
  added 1 changesets with 1 changes to 1 files (+1 heads)
42894
38392d5bde8e transaction: issue "new obsmarkers" message at the end of the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42893
diff changeset
   310
  1 new obsolescence markers
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 38603
diff changeset
   311
  new changesets 02de42196ebe (1 drafts)
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
  postclose-tip:02de42196ebe draft book_02de
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   313
  txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_NODE=02de42196ebee42ef284b6780a87cdc96e8eaab6 HG_NODE_LAST=02de42196ebee42ef284b6780a87cdc96e8eaab6 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_TXNNAME=pull
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
   314
  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
   315
  (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
   316
  $ 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
   317
  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
   318
  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
   319
  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
   320
  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
   321
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
   322
pull over http
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
   323
28549
e01bd7385f4f tests: reorder hg serve commands
Jun Wu <quark@fb.com>
parents: 27739
diff changeset
   324
  $ hg serve -R main -p $HGPORT -d --pid-file=main.pid -E main-error.log
21069
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
   325
  $ 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
   326
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   327
  $ 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
   328
  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
   329
  searching for changes
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
   330
  adding changesets
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
   331
  adding manifests
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
   332
  adding file changes
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   333
  updating bookmark book_42cc
23361
936b0ff34346 phases: read pending data when appropriate
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23360
diff changeset
   334
  pre-close-tip:42ccdea3bb16 draft book_42cc
42897
d7304434390f changegroup: move message about added changes to transaction summary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42894
diff changeset
   335
  added 1 changesets with 1 changes to 1 files (+1 heads)
42894
38392d5bde8e transaction: issue "new obsmarkers" message at the end of the transaction
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42893
diff changeset
   336
  1 new obsolescence markers
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 38603
diff changeset
   337
  new changesets 42ccdea3bb16 (1 drafts)
23359
1b2957b27203 test-bundle2: check visible data in pre/post-transaction hooks
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23358
diff changeset
   338
  postclose-tip:42ccdea3bb16 draft book_42cc
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   339
  txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_NODE=42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 HG_NODE_LAST=42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_TXNNAME=pull
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
   340
  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
   341
  (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
   342
  $ 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
   343
  $ 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
   344
  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
   345
  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
   346
  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
   347
  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
   348
  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
   349
21075
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
   350
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
   351
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   352
  $ 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
   353
  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
   354
  searching for changes
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
   355
  remote: adding changesets
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
   356
  remote: adding manifests
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
   357
  remote: adding file changes
42897
d7304434390f changegroup: move message about added changes to transaction summary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42894
diff changeset
   358
  remote: pre-close-tip:5fddd98957c8 draft book_5fdd
21075
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
   359
  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
   360
  remote: 1 new obsolescence markers
35811
e35320ce8043 bookmarks: fix pushkey compatibility mode (issue5777)
Boris Feld <boris.feld@octobus.net>
parents: 35655
diff changeset
   361
  remote: pushkey: lock state after "bookmarks"
35655
2f54a3e228ff bookmark: run 'pushkey' hooks after bookmark move, not 'prepushkey'
Boris Feld <boris.feld@octobus.net>
parents: 35393
diff changeset
   362
  remote: lock:  free
2f54a3e228ff bookmark: run 'pushkey' hooks after bookmark move, not 'prepushkey'
Boris Feld <boris.feld@octobus.net>
parents: 35393
diff changeset
   363
  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
   364
  remote: postclose-tip:5fddd98957c8 draft book_5fdd
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   365
  remote: txnclose hook: HG_BOOKMARK_MOVED=1 HG_BUNDLE2=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_NODE=5fddd98957c8a54a4d436dfe1da9d87f21a1b97b HG_NODE_LAST=5fddd98957c8a54a4d436dfe1da9d87f21a1b97b HG_SOURCE=serve HG_TXNID=TXN:$ID$ HG_TXNNAME=serve HG_URL=remote:ssh:$LOCALIP
24850
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
   366
  updating bookmark book_5fdd
23437
94e2862dbcfb push: elevate phase transaction to cover entire operation
Eric Sumner <ericsumner@fb.com>
parents: 23389
diff changeset
   367
  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
   368
  postclose-tip:02de42196ebe draft book_02de
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   369
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_SOURCE=push-response HG_TXNID=TXN:$ID$ HG_TXNNAME=push-response
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
   370
  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
   371
  $ 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
   372
  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
   373
  |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   374
  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
   375
  |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   376
  | 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
   377
  | |
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  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
   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 |  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
   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
  | @  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
   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  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
   385
  
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
   386
  $ 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
   387
  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
   388
  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
   389
  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
   390
  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
   391
  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
   392
  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
   393
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
   394
push over http
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
   395
28549
e01bd7385f4f tests: reorder hg serve commands
Jun Wu <quark@fb.com>
parents: 27739
diff changeset
   396
  $ hg serve -R other -p $HGPORT2 -d --pid-file=other.pid -E other-error.log
21075
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
   397
  $ 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
   398
21649
3bfadd70550b bundle2: add more phase movement in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21648
diff changeset
   399
  $ 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
   400
  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
   401
  postclose-tip:02de42196ebe draft book_02de
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   402
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_PHASES_MOVED=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=phase
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   403
  $ 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
   404
  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
   405
  searching for changes
21131
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   406
  remote: adding changesets
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   407
  remote: adding manifests
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   408
  remote: adding file changes
42897
d7304434390f changegroup: move message about added changes to transaction summary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42894
diff changeset
   409
  remote: pre-close-tip:32af7686d403 public book_32af
21131
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   410
  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
   411
  remote: 1 new obsolescence markers
35811
e35320ce8043 bookmarks: fix pushkey compatibility mode (issue5777)
Boris Feld <boris.feld@octobus.net>
parents: 35655
diff changeset
   412
  remote: pushkey: lock state after "bookmarks"
35655
2f54a3e228ff bookmark: run 'pushkey' hooks after bookmark move, not 'prepushkey'
Boris Feld <boris.feld@octobus.net>
parents: 35393
diff changeset
   413
  remote: lock:  free
2f54a3e228ff bookmark: run 'pushkey' hooks after bookmark move, not 'prepushkey'
Boris Feld <boris.feld@octobus.net>
parents: 35393
diff changeset
   414
  remote: wlock: free
24850
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
   415
  remote: postclose-tip:32af7686d403 public book_32af
31812
71e3eec9b9fb tests: fix missing (glob) annotations in test-bundle2-exchange.t
Augie Fackler <augie@google.com>
parents: 31747
diff changeset
   416
  remote: txnclose hook: HG_BOOKMARK_MOVED=1 HG_BUNDLE2=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_NODE=32af7686d403cf45b5d95f2d70cebea587ac806a HG_NODE_LAST=32af7686d403cf45b5d95f2d70cebea587ac806a HG_PHASES_MOVED=1 HG_SOURCE=serve HG_TXNID=TXN:$ID$ HG_TXNNAME=serve HG_URL=remote:http:$LOCALIP: (glob)
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   417
  updating bookmark book_32af
23437
94e2862dbcfb push: elevate phase transaction to cover entire operation
Eric Sumner <ericsumner@fb.com>
parents: 23389
diff changeset
   418
  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
   419
  postclose-tip:02de42196ebe draft book_02de
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   420
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_SOURCE=push-response HG_TXNID=TXN:$ID$ HG_TXNNAME=push-response
24285
8e13cc0825f1 bundle2: test hooking using the new transaction-level hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23759
diff changeset
   421
  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
   422
  $ cat other-error.log
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
   423
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
   424
Check final content.
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
   425
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
   426
  $ 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
   427
  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
   428
  |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   429
  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
   430
  |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   431
  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
   432
  |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   433
  | 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
   434
  | |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   435
  | | 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
   436
  | |/|
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   437
  | 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
   438
  |/ /
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   439
  | @  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
   440
  |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   441
  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
   442
  
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
   443
  $ 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
   444
  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
   445
  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
   446
  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
   447
  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
   448
  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
   449
  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
   450
  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
   451
23358
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
   452
(check that no 'pending' files remain)
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
   453
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
   454
  $ ls -1 other/.hg/bookmarks*
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
   455
  other/.hg/bookmarks
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
   456
  $ ls -1 other/.hg/store/phaseroots*
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
   457
  other/.hg/store/phaseroots
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
   458
  $ 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
   459
  other/.hg/store/00changelog.i
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
   460
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   461
Error Handling
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   462
==============
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
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
   465
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   466
Setting up
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   467
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   468
  $ cat > failpush.py << EOF
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   469
  > """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
   470
  > 
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   471
  > 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
   472
  > """
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   473
  > 
26587
56b2bcea2529 error: get Abort from 'error' instead of 'util'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26566
diff changeset
   474
  > from mercurial import error
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   475
  > from mercurial import bundle2
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   476
  > from mercurial import exchange
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   477
  > from mercurial import extensions
34763
7c52a65010b1 configitems: register the test 'failpush.reason' config
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   478
  > from mercurial import registrar
7c52a65010b1 configitems: register the test 'failpush.reason' config
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   479
  > cmdtable = {}
7c52a65010b1 configitems: register the test 'failpush.reason' config
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   480
  > command = registrar.command(cmdtable)
7c52a65010b1 configitems: register the test 'failpush.reason' config
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   481
  > 
7c52a65010b1 configitems: register the test 'failpush.reason' config
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   482
  > configtable = {}
7c52a65010b1 configitems: register the test 'failpush.reason' config
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   483
  > configitem = registrar.configitem(configtable)
37748
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   484
  > configitem(b'failpush', b'reason',
34763
7c52a65010b1 configitems: register the test 'failpush.reason' config
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   485
  >     default=None,
7c52a65010b1 configitems: register the test 'failpush.reason' config
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   486
  > )
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   487
  > 
21905
7923648ad915 bundle2-test: use the new way to extend push content
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21649
diff changeset
   488
  > def _pushbundle2failpart(pushop, bundler):
37748
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   489
  >     reason = pushop.ui.config(b'failpush', b'reason')
21178
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
   490
  >     part = None
37748
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   491
  >     if reason == b'abort':
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   492
  >         bundler.newpart(b'test:abort')
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   493
  >     if reason == b'unknown':
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   494
  >         bundler.newpart(b'test:unknown')
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   495
  >     if reason == b'race':
21186
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   496
  >         # 20 Bytes of crap
37748
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   497
  >         bundler.newpart(b'check:heads', data=b'01234567890123456789')
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   498
  > 
37748
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   499
  > @bundle2.parthandler(b"test:abort")
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   500
  > def handleabort(op, part):
37748
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   501
  >     raise error.Abort(b'Abandon ship!', hint=b"don't panic")
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   502
  > 
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   503
  > def uisetup(ui):
37748
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   504
  >     exchange.b2partsgenmapping[b'failpart'] = _pushbundle2failpart
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   505
  >     exchange.b2partsgenorder.insert(0, b'failpart')
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   506
  > 
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   507
  > EOF
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   508
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   509
  $ cd main
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   510
  $ hg up tip
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   511
  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
   512
  $ echo 'I' > I
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   513
  $ hg add I
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   514
  $ 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
   515
  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
   516
  postclose-tip:e7ec4e813ba6 draft 
31747
aff7b32b3c05 hook: add hook name information to external hook
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31746
diff changeset
   517
  txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_TXNID=TXN:$ID$ HG_TXNNAME=commit
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   518
  $ hg id
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   519
  e7ec4e813ba6 tip
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   520
  $ cd ..
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   521
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   522
  $ cat << EOF >> $HGRCPATH
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   523
  > [extensions]
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   524
  > failpush=$TESTTMP/failpush.py
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   525
  > EOF
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   526
25474
8c14f87bd0ae tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents: 25472
diff changeset
   527
  $ killdaemons.py
28549
e01bd7385f4f tests: reorder hg serve commands
Jun Wu <quark@fb.com>
parents: 27739
diff changeset
   528
  $ hg serve -R other -p $HGPORT2 -d --pid-file=other.pid -E other-error.log
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   529
  $ cat other.pid >> $DAEMON_PIDS
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   530
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   531
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
   532
21178
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
   533
  $ cat << EOF >> $HGRCPATH
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
   534
  > [failpush]
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
   535
  > reason = abort
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
   536
  > EOF
9a813e703172 bundle2: make error testing more modular
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21177
diff changeset
   537
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   538
  $ 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
   539
  pushing to other
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   540
  searching for changes
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   541
  abort: Abandon ship!
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   542
  (don't panic)
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   543
  [255]
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   544
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   545
  $ 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
   546
  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
   547
  searching for changes
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   548
  remote: Abandon ship!
30908
4c8dcb491974 bundle2: keep hint close to the primary message when remote abort
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29780
diff changeset
   549
  remote: (don't panic)
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   550
  abort: push failed on remote
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   551
  [255]
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   552
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   553
  $ 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
   554
  pushing to http://localhost:$HGPORT2/
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   555
  searching for changes
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   556
  remote: Abandon ship!
30908
4c8dcb491974 bundle2: keep hint close to the primary message when remote abort
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29780
diff changeset
   557
  remote: (don't panic)
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   558
  abort: push failed on remote
21177
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   559
  [255]
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   560
952af771bc17 bundle2: gracefully handle abort during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21147
diff changeset
   561
21183
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
   562
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
   563
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
   564
  $ cat << EOF >> $HGRCPATH
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
   565
  > [failpush]
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
   566
  > reason = unknown
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
   567
  > EOF
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
   568
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
   569
  $ 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
   570
  pushing to other
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
   571
  searching for changes
21617
0cfda08afd24 bundle2: rename UnknownPartError to BundleValueError
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21605
diff changeset
   572
  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
   573
  [255]
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
   574
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
   575
  $ 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
   576
  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
   577
  searching for changes
21617
0cfda08afd24 bundle2: rename UnknownPartError to BundleValueError
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21605
diff changeset
   578
  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
   579
  [255]
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
   580
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
   581
  $ 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
   582
  pushing to http://localhost:$HGPORT2/
4345274adc4b bundle2: gracefully handle UnknownPartError during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21178
diff changeset
   583
  searching for changes
21617
0cfda08afd24 bundle2: rename UnknownPartError to BundleValueError
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21605
diff changeset
   584
  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
   585
  [255]
21186
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   586
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   587
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
   588
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   589
  $ cat << EOF >> $HGRCPATH
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   590
  > [failpush]
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   591
  > reason = race
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   592
  > EOF
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   593
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   594
  $ 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
   595
  pushing to other
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   596
  searching for changes
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   597
  abort: push failed:
40147
58ebf5083843 push: add "remote" to 'repository changed while pushing' messages (issue5971)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39480
diff changeset
   598
  'remote repository changed while pushing - please try again'
21186
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   599
  [255]
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   600
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   601
  $ 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
   602
  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
   603
  searching for changes
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   604
  abort: push failed:
40147
58ebf5083843 push: add "remote" to 'repository changed while pushing' messages (issue5971)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39480
diff changeset
   605
  'remote repository changed while pushing - please try again'
21186
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   606
  [255]
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   607
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   608
  $ 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
   609
  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
   610
  searching for changes
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   611
  abort: push failed:
40147
58ebf5083843 push: add "remote" to 'repository changed while pushing' messages (issue5971)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39480
diff changeset
   612
  'remote repository changed while pushing - please try again'
21186
9f3652e851f8 bundle2: gracefully handle PushRaced error during unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21185
diff changeset
   613
  [255]
21187
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   614
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   615
Doing the actual push: hook abort
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   616
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   617
  $ cat << EOF >> $HGRCPATH
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   618
  > [failpush]
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   619
  > reason =
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   620
  > [hooks]
24860
263ec70769cb test-bundle2-exchange: make hooks compatible with Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 24851
diff changeset
   621
  > 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
   622
  > 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
   623
  > EOF
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   624
25474
8c14f87bd0ae tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents: 25472
diff changeset
   625
  $ killdaemons.py
28549
e01bd7385f4f tests: reorder hg serve commands
Jun Wu <quark@fb.com>
parents: 27739
diff changeset
   626
  $ hg serve -R other -p $HGPORT2 -d --pid-file=other.pid -E other-error.log
21187
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   627
  $ cat other.pid >> $DAEMON_PIDS
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   628
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   629
  $ 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
   630
  pushing to other
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   631
  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
   632
  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
   633
  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
   634
  remote: adding file changes
24850
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
   635
  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
   636
  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
   637
  remote: transaction abort!
24849
aff2aca3420e bundle2: also capture hook output during processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24847
diff changeset
   638
  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
   639
  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
   640
  abort: pretxnclose.failpush hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45839
diff changeset
   641
  [40]
21187
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   642
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   643
  $ 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
   644
  pushing to ssh://user@dummy/other
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   645
  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
   646
  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
   647
  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
   648
  remote: adding file changes
24850
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
   649
  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
   650
  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
   651
  remote: transaction abort!
24849
aff2aca3420e bundle2: also capture hook output during processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24847
diff changeset
   652
  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
   653
  remote: rollback completed
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   654
  remote: pretxnclose.failpush hook exited with status 1
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   655
  abort: push failed on remote
21187
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   656
  [255]
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   657
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   658
  $ 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
   659
  pushing to http://localhost:$HGPORT2/
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   660
  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
   661
  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
   662
  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
   663
  remote: adding file changes
24850
6b81309d15a7 bundle2: capture output issue during transaction close
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24849
diff changeset
   664
  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
   665
  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
   666
  remote: transaction abort!
24849
aff2aca3420e bundle2: also capture hook output during processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24847
diff changeset
   667
  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
   668
  remote: rollback completed
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   669
  remote: pretxnclose.failpush hook exited with status 1
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   670
  abort: push failed on remote
21187
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   671
  [255]
bcfd44abad93 bundle2: gracefully handle hook abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21186
diff changeset
   672
23358
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
   673
(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
   674
23358
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
   675
  $ ls -1 other/.hg/bookmarks*
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
   676
  other/.hg/bookmarks
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
   677
  $ ls -1 other/.hg/store/phaseroots*
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
   678
  other/.hg/store/phaseroots
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
   679
  $ 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
   680
  other/.hg/store/00changelog.i
1b51d1b05482 transaction: write pending generated files
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23222
diff changeset
   681
24851
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
   682
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
   683
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
   684
  $ cat << EOF >> $HGRCPATH
24860
263ec70769cb test-bundle2-exchange: make hooks compatible with Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 24851
diff changeset
   685
  > 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
   686
  > EOF
25474
8c14f87bd0ae tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents: 25472
diff changeset
   687
  $ killdaemons.py # reload http config
28549
e01bd7385f4f tests: reorder hg serve commands
Jun Wu <quark@fb.com>
parents: 27739
diff changeset
   688
  $ hg serve -R other -p $HGPORT2 -d --pid-file=other.pid -E other-error.log
24851
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
   689
  $ 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
   690
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
   691
  $ 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
   692
  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
   693
  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
   694
  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
   695
  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
   696
  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
   697
  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
   698
  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
   699
  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
   700
  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
   701
  abort: pretxnchangegroup hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45839
diff changeset
   702
  [40]
24851
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
   703
  $ 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
   704
  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
   705
  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
   706
  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
   707
  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
   708
  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
   709
  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
   710
  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
   711
  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
   712
  remote: rollback completed
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   713
  remote: pretxnchangegroup hook exited with status 1
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   714
  abort: push failed on remote
24851
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
   715
  [255]
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
   716
  $ 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
   717
  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
   718
  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
   719
  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
   720
  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
   721
  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
   722
  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
   723
  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
   724
  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
   725
  remote: rollback completed
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   726
  remote: pretxnchangegroup hook exited with status 1
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   727
  abort: push failed on remote
24851
df0ce98c882f bundle2: also save output when error happens during part processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24850
diff changeset
   728
  [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
   729
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
   730
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
   731
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
   732
(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
   733
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
   734
  $ 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
   735
  > [experimental]
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
   736
  > 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
   737
  > EOF
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
   738
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
   739
  $ 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
   740
  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
   741
  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
   742
  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
   743
  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
   744
  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
   745
  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
   746
  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
   747
  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
   748
  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
   749
  abort: pretxnchangegroup hook exited with status 1
46417
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45839
diff changeset
   750
  [40]
24878
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
   751
  $ 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
   752
  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
   753
  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
   754
  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
   755
  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
   756
  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
   757
  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
   758
  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
   759
  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
   760
  remote: rollback completed
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   761
  remote: pretxnchangegroup hook exited with status 1
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   762
  abort: push failed on remote
24878
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
   763
  [255]
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
   764
  $ 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
   765
  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
   766
  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
   767
  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
   768
  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
   769
  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
   770
  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
   771
  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
   772
  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
   773
  remote: rollback completed
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   774
  remote: pretxnchangegroup hook exited with status 1
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   775
  abort: push failed on remote
24878
e530cde6d115 bundle2: disable ouput capture unless we use http (issue4613 issue4615)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24860
diff changeset
   776
  [255]
25481
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   777
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   778
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
   779
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   780
  $ 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
   781
  > 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
   782
  > 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
   783
  > from mercurial import node
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
   784
  > from mercurial import error
37748
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   785
  > @exchange.b2partsgenerator(b'failingpuskey')
25481
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   786
  > 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
   787
  >     enc = pushkey.encode
37748
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   788
  >     part = bundler.newpart(b'pushkey')
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   789
  >     part.addparam(b'namespace', enc(b'phases'))
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   790
  >     part.addparam(b'key', enc(b'cd010b8cd998f3981a5a8115f94f8da4ab506089'))
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   791
  >     part.addparam(b'old', enc(b'0')) # successful update
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   792
  >     part.addparam(b'new', enc(b'0'))
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
   793
  >     def fail(pushop, exc):
37748
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   794
  >         raise error.Abort(b'Correct phase push failed (because hooks)')
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
   795
  >     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
   796
  > EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   797
  $ cat >> $HGRCPATH << EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   798
  > [hooks]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   799
  > pretxnchangegroup=
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   800
  > pretxnclose.failpush=
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   801
  > 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
   802
  > [extensions]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   803
  > 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
   804
  > EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   805
  $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS # reload http config
28549
e01bd7385f4f tests: reorder hg serve commands
Jun Wu <quark@fb.com>
parents: 27739
diff changeset
   806
  $ hg serve -R other -p $HGPORT2 -d --pid-file=other.pid -E other-error.log
25481
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   807
  $ 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
   808
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   809
(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
   810
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   811
  $ 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
   812
  pushing to other
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   813
  searching for changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   814
  adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   815
  adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   816
  adding file changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   817
  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
   818
  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
   819
  transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   820
  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
   821
  rollback completed
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
   822
  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
   823
  [255]
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 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
   825
  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
   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
  remote: adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   828
  remote: adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   829
  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
   830
  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
   831
  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
   832
  remote: transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   833
  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
   834
  remote: rollback completed
25493
d8e7b0781ad7 bundle2: convey PushkeyFailed error over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25485
diff changeset
   835
  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
   836
  [255]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   837
  $ 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
   838
  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
   839
  searching for changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   840
  remote: adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   841
  remote: adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   842
  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
   843
  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
   844
  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
   845
  remote: transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   846
  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
   847
  remote: rollback completed
25493
d8e7b0781ad7 bundle2: convey PushkeyFailed error over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25485
diff changeset
   848
  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
   849
  [255]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   850
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   851
(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
   852
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   853
  $ 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
   854
  > 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
   855
  > 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
   856
  > from mercurial import node
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
   857
  > from mercurial import error
37748
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   858
  > @exchange.b2partsgenerator(b'failingpuskey')
25481
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   859
  > 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
   860
  >     enc = pushkey.encode
37748
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   861
  >     part = bundler.newpart(b'pushkey')
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   862
  >     part.addparam(b'namespace', enc(b'phases'))
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   863
  >     part.addparam(b'key', enc(b'cd010b8cd998f3981a5a8115f94f8da4ab506089'))
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   864
  >     part.addparam(b'old', enc(b'4')) # will fail
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   865
  >     part.addparam(b'new', enc(b'3'))
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
   866
  >     def fail(pushop, exc):
37748
affcecf20c15 tests: update inline extensions in test-bundle2-exchange.t to py3
Augie Fackler <augie@google.com>
parents: 37454
diff changeset
   867
  >         raise error.Abort(b'Clown phase push failed')
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
   868
  >     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
   869
  > EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   870
  $ cat >> $HGRCPATH << EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   871
  > [hooks]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   872
  > prepushkey.failpush =
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   873
  > EOF
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   874
  $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS # reload http config
28549
e01bd7385f4f tests: reorder hg serve commands
Jun Wu <quark@fb.com>
parents: 27739
diff changeset
   875
  $ hg serve -R other -p $HGPORT2 -d --pid-file=other.pid -E other-error.log
25481
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   876
  $ 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
   877
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   878
  $ hg -R main push other -r e7ec4e813ba6
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   879
  pushing to other
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   880
  searching for changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   881
  adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   882
  adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   883
  adding file changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   884
  transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   885
  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
   886
  rollback completed
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   887
  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
   888
  lock:  free
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   889
  wlock: free
25485
8182163ae983 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25481
diff changeset
   890
  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
   891
  [255]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   892
  $ 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
   893
  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
   894
  searching for changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   895
  remote: adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   896
  remote: adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   897
  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
   898
  remote: transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   899
  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
   900
  remote: rollback completed
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   901
  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
   902
  remote: lock:  free
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   903
  remote: wlock: free
25493
d8e7b0781ad7 bundle2: convey PushkeyFailed error over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25485
diff changeset
   904
  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
   905
  [255]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   906
  $ 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
   907
  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
   908
  searching for changes
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   909
  remote: adding changesets
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   910
  remote: adding manifests
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   911
  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
   912
  remote: transaction abort!
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   913
  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
   914
  remote: rollback completed
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   915
  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
   916
  remote: lock:  free
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   917
  remote: wlock: free
25493
d8e7b0781ad7 bundle2: convey PushkeyFailed error over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25485
diff changeset
   918
  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
   919
  [255]
6de96cb31176 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   920
26566
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   921
Test lazily acquiring the lock during unbundle
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   922
  $ cp $TESTTMP/hgrc.orig $HGRCPATH
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   923
  $ cat >> $HGRCPATH <<EOF
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   924
  > [ui]
33335
72f051f9a7d8 tests: quote $PYTHON for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 33286
diff changeset
   925
  > ssh="$PYTHON" "$TESTDIR/dummyssh"
26566
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   926
  > EOF
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   927
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   928
  $ cat >> $TESTTMP/locktester.py <<EOF
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   929
  > import os
40369
ef6cab7930b3 py3: fix module imports in tests, as flagged by test-check-module-imports.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 40147
diff changeset
   930
  > from mercurial import bundle2, error, extensions
26566
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   931
  > def checklock(orig, repo, *args, **kwargs):
38603
4df549d0f1fd py3: byte-stringify literals in extension in test-bundle2-exchange.t
Yuya Nishihara <yuya@tcha.org>
parents: 38250
diff changeset
   932
  >     if repo.svfs.lexists(b"lock"):
4df549d0f1fd py3: byte-stringify literals in extension in test-bundle2-exchange.t
Yuya Nishihara <yuya@tcha.org>
parents: 38250
diff changeset
   933
  >         raise error.Abort(b"Lock should not be taken")
26566
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   934
  >     return orig(repo, *args, **kwargs)
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   935
  > def extsetup(ui):
38603
4df549d0f1fd py3: byte-stringify literals in extension in test-bundle2-exchange.t
Yuya Nishihara <yuya@tcha.org>
parents: 38250
diff changeset
   936
  >    extensions.wrapfunction(bundle2, b'processbundle', checklock)
26566
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   937
  > EOF
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   938
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   939
  $ hg init lazylock
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   940
  $ cat >> lazylock/.hg/hgrc <<EOF
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   941
  > [extensions]
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   942
  > locktester=$TESTTMP/locktester.py
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   943
  > EOF
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   944
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   945
  $ hg clone -q ssh://user@dummy/lazylock lazylockclient
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   946
  $ cd lazylockclient
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   947
  $ touch a && hg ci -Aqm a
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   948
  $ hg push
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   949
  pushing to ssh://user@dummy/lazylock
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   950
  searching for changes
26829
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   951
  remote: Lock should not be taken
58f1645f72c3 bundle2: attribute remote failures to remote (issue4788)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26587
diff changeset
   952
  abort: push failed on remote
26566
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   953
  [255]
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   954
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   955
  $ cat >> ../lazylock/.hg/hgrc <<EOF
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   956
  > [experimental]
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   957
  > bundle2lazylocking=True
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   958
  > EOF
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   959
  $ hg push
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   960
  pushing to ssh://user@dummy/lazylock
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   961
  searching for changes
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   962
  remote: adding changesets
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   963
  remote: adding manifests
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   964
  remote: adding file changes
58880acd2369 bundle2: allow lazily acquiring the lock
Durham Goode <durham@fb.com>
parents: 25744
diff changeset
   965
  remote: added 1 changesets with 1 changes to 1 files
27246
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   966
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   967
  $ cd ..
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   968
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   969
Servers can disable bundle1 for clone/pull operations
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   970
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   971
  $ killdaemons.py
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   972
  $ hg init bundle2onlyserver
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   973
  $ cd bundle2onlyserver
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   974
  $ cat > .hg/hgrc << EOF
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   975
  > [server]
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   976
  > bundle1.pull = false
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   977
  > EOF
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   978
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   979
  $ touch foo
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   980
  $ hg -q commit -A -m initial
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   981
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   982
  $ hg serve -p $HGPORT -d --pid-file=hg.pid
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   983
  $ cat hg.pid >> $DAEMON_PIDS
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   984
29685
06e642d7f76c tests: use 'legacy.exchange' option in 'test-bundle2-exchange.t'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29672
diff changeset
   985
  $ hg --config devel.legacy.exchange=bundle1 clone http://localhost:$HGPORT/ not-bundle2
27246
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   986
  requesting all changes
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   987
  abort: remote error:
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   988
  incompatible Mercurial client; bundle2 required
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   989
  (see https://www.mercurial-scm.org/wiki/IncompatibleClient)
45839
ebee234d952a errors: set detailed exit code to 100 for some remote errors
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
   990
  [100]
27246
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
   991
  $ killdaemons.py
27633
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
   992
  $ cd ..
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
   993
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
   994
bundle1 can still pull non-generaldelta repos when generaldelta bundle1 disabled
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
   995
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
   996
  $ hg --config format.usegeneraldelta=false init notgdserver
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
   997
  $ cd notgdserver
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
   998
  $ cat > .hg/hgrc << EOF
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
   999
  > [server]
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1000
  > bundle1gd.pull = false
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1001
  > EOF
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1002
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1003
  $ touch foo
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1004
  $ hg -q commit -A -m initial
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1005
  $ hg serve -p $HGPORT -d --pid-file=hg.pid
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1006
  $ cat hg.pid >> $DAEMON_PIDS
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1007
29685
06e642d7f76c tests: use 'legacy.exchange' option in 'test-bundle2-exchange.t'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29672
diff changeset
  1008
  $ hg --config devel.legacy.exchange=bundle1 clone http://localhost:$HGPORT/ not-bundle2-1
27633
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1009
  requesting all changes
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1010
  adding changesets
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1011
  adding manifests
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1012
  adding file changes
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1013
  added 1 changesets with 1 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34483
diff changeset
  1014
  new changesets 96ee1d7354c4
27633
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1015
  updating to branch default
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1016
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1017
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1018
  $ killdaemons.py
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1019
  $ cd ../bundle2onlyserver
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1020
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1021
bundle1 pull can be disabled for generaldelta repos only
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1022
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1023
  $ cat > .hg/hgrc << EOF
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1024
  > [server]
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1025
  > bundle1gd.pull = false
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1026
  > EOF
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1027
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1028
  $ hg serve -p $HGPORT -d --pid-file=hg.pid
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1029
  $ cat hg.pid >> $DAEMON_PIDS
29685
06e642d7f76c tests: use 'legacy.exchange' option in 'test-bundle2-exchange.t'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29672
diff changeset
  1030
  $ hg --config devel.legacy.exchange=bundle1 clone http://localhost:$HGPORT/ not-bundle2
27633
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1031
  requesting all changes
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1032
  abort: remote error:
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1033
  incompatible Mercurial client; bundle2 required
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1034
  (see https://www.mercurial-scm.org/wiki/IncompatibleClient)
45839
ebee234d952a errors: set detailed exit code to 100 for some remote errors
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
  1035
  [100]
27633
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1036
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1037
  $ killdaemons.py
27246
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1038
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1039
Verify the global server.bundle1 option works
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1040
30911
f3c5a8a4dfd0 bundle-tests: operate from outside a repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30910
diff changeset
  1041
  $ cd ..
f3c5a8a4dfd0 bundle-tests: operate from outside a repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30910
diff changeset
  1042
  $ cat > bundle2onlyserver/.hg/hgrc << EOF
27246
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1043
  > [server]
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1044
  > bundle1 = false
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1045
  > EOF
34483
a6d95a8b7243 serve: make tests compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 33773
diff changeset
  1046
  $ hg serve -R bundle2onlyserver -p $HGPORT -d --pid-file=hg.pid
27246
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1047
  $ cat hg.pid >> $DAEMON_PIDS
29685
06e642d7f76c tests: use 'legacy.exchange' option in 'test-bundle2-exchange.t'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29672
diff changeset
  1048
  $ hg --config devel.legacy.exchange=bundle1 clone http://localhost:$HGPORT not-bundle2
27246
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1049
  requesting all changes
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1050
  abort: remote error:
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1051
  incompatible Mercurial client; bundle2 required
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1052
  (see https://www.mercurial-scm.org/wiki/IncompatibleClient)
45839
ebee234d952a errors: set detailed exit code to 100 for some remote errors
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
  1053
  [100]
27246
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1054
  $ killdaemons.py
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1055
30912
3d4afc2fdcd7 bundle1: fix bundle1-denied reporting for pull over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30911
diff changeset
  1056
  $ hg --config devel.legacy.exchange=bundle1 clone ssh://user@dummy/bundle2onlyserver not-bundle2-ssh
3d4afc2fdcd7 bundle1: fix bundle1-denied reporting for pull over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30911
diff changeset
  1057
  requesting all changes
3d4afc2fdcd7 bundle1: fix bundle1-denied reporting for pull over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30911
diff changeset
  1058
  adding changesets
3d4afc2fdcd7 bundle1: fix bundle1-denied reporting for pull over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30911
diff changeset
  1059
  remote: abort: incompatible Mercurial client; bundle2 required
3d4afc2fdcd7 bundle1: fix bundle1-denied reporting for pull over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30911
diff changeset
  1060
  remote: (see https://www.mercurial-scm.org/wiki/IncompatibleClient)
3d4afc2fdcd7 bundle1: fix bundle1-denied reporting for pull over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30911
diff changeset
  1061
  transaction abort!
3d4afc2fdcd7 bundle1: fix bundle1-denied reporting for pull over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30911
diff changeset
  1062
  rollback completed
3d4afc2fdcd7 bundle1: fix bundle1-denied reporting for pull over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30911
diff changeset
  1063
  abort: stream ended unexpectedly (got 0 bytes, expected 4)
3d4afc2fdcd7 bundle1: fix bundle1-denied reporting for pull over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30911
diff changeset
  1064
  [255]
3d4afc2fdcd7 bundle1: fix bundle1-denied reporting for pull over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30911
diff changeset
  1065
30911
f3c5a8a4dfd0 bundle-tests: operate from outside a repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30910
diff changeset
  1066
  $ cat > bundle2onlyserver/.hg/hgrc << EOF
27633
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1067
  > [server]
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1068
  > bundle1gd = false
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1069
  > EOF
34483
a6d95a8b7243 serve: make tests compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 33773
diff changeset
  1070
  $ hg serve -R bundle2onlyserver -p $HGPORT -d --pid-file=hg.pid
27633
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1071
  $ cat hg.pid >> $DAEMON_PIDS
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1072
29685
06e642d7f76c tests: use 'legacy.exchange' option in 'test-bundle2-exchange.t'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29672
diff changeset
  1073
  $ hg --config devel.legacy.exchange=bundle1 clone http://localhost:$HGPORT/ not-bundle2
27633
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1074
  requesting all changes
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1075
  abort: remote error:
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1076
  incompatible Mercurial client; bundle2 required
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1077
  (see https://www.mercurial-scm.org/wiki/IncompatibleClient)
45839
ebee234d952a errors: set detailed exit code to 100 for some remote errors
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
  1078
  [100]
27633
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1079
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1080
  $ killdaemons.py
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1081
30911
f3c5a8a4dfd0 bundle-tests: operate from outside a repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30910
diff changeset
  1082
  $ cd notgdserver
27633
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1083
  $ cat > .hg/hgrc << EOF
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1084
  > [server]
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1085
  > bundle1gd = false
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1086
  > EOF
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1087
  $ hg serve -p $HGPORT -d --pid-file=hg.pid
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1088
  $ cat hg.pid >> $DAEMON_PIDS
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1089
29685
06e642d7f76c tests: use 'legacy.exchange' option in 'test-bundle2-exchange.t'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29672
diff changeset
  1090
  $ hg --config devel.legacy.exchange=bundle1 clone http://localhost:$HGPORT/ not-bundle2-2
27633
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1091
  requesting all changes
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1092
  adding changesets
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1093
  adding manifests
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1094
  adding file changes
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1095
  added 1 changesets with 1 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34483
diff changeset
  1096
  new changesets 96ee1d7354c4
27633
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1097
  updating to branch default
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1098
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1099
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1100
  $ killdaemons.py
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1101
  $ cd ../bundle2onlyserver
37d7cf569cf3 wireproto: support disabling bundle1 only if repo is generaldelta
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27246
diff changeset
  1102
27246
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1103
Verify bundle1 pushes can be disabled
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1104
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1105
  $ cat > .hg/hgrc << EOF
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1106
  > [server]
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1107
  > bundle1.push = false
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1108
  > [web]
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1109
  > allow_push = *
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1110
  > push_ssl = false
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1111
  > EOF
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1112
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1113
  $ hg serve -p $HGPORT -d --pid-file=hg.pid -E error.log
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1114
  $ cat hg.pid >> $DAEMON_PIDS
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1115
  $ cd ..
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1116
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1117
  $ hg clone http://localhost:$HGPORT bundle2-only
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1118
  requesting all changes
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1119
  adding changesets
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1120
  adding manifests
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1121
  adding file changes
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1122
  added 1 changesets with 1 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34483
diff changeset
  1123
  new changesets 96ee1d7354c4
27246
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1124
  updating to branch default
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1125
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1126
  $ cd bundle2-only
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1127
  $ echo commit > foo
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1128
  $ hg commit -m commit
29685
06e642d7f76c tests: use 'legacy.exchange' option in 'test-bundle2-exchange.t'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29672
diff changeset
  1129
  $ hg --config devel.legacy.exchange=bundle1 push
27246
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1130
  pushing to http://localhost:$HGPORT/
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1131
  searching for changes
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1132
  abort: remote error:
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1133
  incompatible Mercurial client; bundle2 required
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1134
  (see https://www.mercurial-scm.org/wiki/IncompatibleClient)
45839
ebee234d952a errors: set detailed exit code to 100 for some remote errors
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
  1135
  [100]
27246
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1136
30909
d554e624c5fe bundle1: fix bundle1-denied reporting for push over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30908
diff changeset
  1137
(also check with ssh)
d554e624c5fe bundle1: fix bundle1-denied reporting for push over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30908
diff changeset
  1138
d554e624c5fe bundle1: fix bundle1-denied reporting for push over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30908
diff changeset
  1139
  $ hg --config devel.legacy.exchange=bundle1 push ssh://user@dummy/bundle2onlyserver
d554e624c5fe bundle1: fix bundle1-denied reporting for push over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30908
diff changeset
  1140
  pushing to ssh://user@dummy/bundle2onlyserver
d554e624c5fe bundle1: fix bundle1-denied reporting for push over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30908
diff changeset
  1141
  searching for changes
d554e624c5fe bundle1: fix bundle1-denied reporting for push over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30908
diff changeset
  1142
  remote: abort: incompatible Mercurial client; bundle2 required
30910
accaa04f951c bundle1: display server abort hint during unbundle
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30909
diff changeset
  1143
  remote: (see https://www.mercurial-scm.org/wiki/IncompatibleClient)
30909
d554e624c5fe bundle1: fix bundle1-denied reporting for push over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30908
diff changeset
  1144
  [1]
d554e624c5fe bundle1: fix bundle1-denied reporting for push over ssh
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30908
diff changeset
  1145
27246
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1146
  $ hg push
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1147
  pushing to http://localhost:$HGPORT/
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1148
  searching for changes
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1149
  remote: adding changesets
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1150
  remote: adding manifests
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1151
  remote: adding file changes
b288fb2724bf wireproto: config options to disable bundle1
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26829
diff changeset
  1152
  remote: added 1 changesets with 1 changes to 1 files