tests/test-push-warn
author Sune Foldager <cryo@cyanite.org>
Thu, 15 Apr 2010 21:59:21 +0200
branchstable
changeset 10925 a101a743c570
parent 10909 29a83fb8c067
child 11211 e43c23d189a5
permissions -rwxr-xr-x
prepush: rewrite most of the code from scratch For servers with branchmap support, the algorithm now works as follows: 1. A list of branches in outgoing changesets is created. 2. Using the remote branchmap, a check for new branches is performed. 3. A map (from branch to head list) of locally known remote heads before the push is created, and one which, after step 4, will contain the locally known remote heads after the push. 4. The post-push head map is updated with the outgoing changesets, using the branch cache update mechanism. 5. A check for new heads is performed, by comparing the length of the head list before and after push, for each branch. If there are new heads, an error depending on whether or not there are incoming changes on the branch, is returned. 6. If the push is allowed, a warning is written if there are incoming changes on any branches involved in the push. For old servers, an algorithm similar to step 4-6 above is used to check for new topological heads only. Two bugs are also fixed: 1. Sometimes you would be allowed to push new branch heads without --force. A test for this case was added. 2. You would get the "note: unsynced remote changes!" warning if there were any incoming changesets, even if they were on unrelated branches.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
816
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
     1
#!/bin/sh
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
     2
10875
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
     3
echo "[extensions]" >> $HGRCPATH
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
     4
echo "graphlog=" >> $HGRCPATH
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
     5
816
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
     6
mkdir a
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
     7
cd a
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
     8
hg init
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
     9
echo foo > t1
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
    10
hg add t1
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 839
diff changeset
    11
hg commit -m "1" -d "1000000 0"
816
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
    12
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
    13
cd ..
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
    14
hg clone a b
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
    15
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
    16
cd a
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
    17
echo foo > t2
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
    18
hg add t2
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 839
diff changeset
    19
hg commit -m "2" -d "1000000 0"
816
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
    20
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
    21
cd ../b
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
    22
echo foo > t3
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
    23
hg add t3
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 839
diff changeset
    24
hg commit -m "3" -d "1000000 0"
816
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
    25
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
    26
hg push ../a
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
    27
hg pull ../a
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
    28
hg push ../a
2283
e506c14382fd deprecate 'update -m'. use 'merge' instead.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2021
diff changeset
    29
hg merge
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 839
diff changeset
    30
hg commit -m "4" -d "1000000 0"
816
8674b7803714 Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff changeset
    31
hg push ../a
2021
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    32
cd ..
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    33
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    34
hg init c
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    35
cd c
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    36
for i in 0 1 2; do
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    37
    echo $i >> foo
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    38
    hg ci -Am $i -d "1000000 0"
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    39
done
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    40
cd ..
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    41
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    42
hg clone c d
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    43
cd d
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    44
for i in 0 1; do
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    45
    hg co -C $i
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    46
    echo d-$i >> foo
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    47
    hg ci -m d-$i -d "1000000 0"
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    48
done
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    49
2283
e506c14382fd deprecate 'update -m'. use 'merge' instead.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2021
diff changeset
    50
HGMERGE=true hg merge 3
2021
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    51
hg ci -m c-d -d "1000000 0"
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    52
3803
2aef481ac73c Don't report an error when closing heads during local push (issue387)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3684
diff changeset
    53
hg push ../c; echo $?
2aef481ac73c Don't report an error when closing heads during local push (issue387)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3684
diff changeset
    54
hg push -r 2 ../c; echo $?
2aef481ac73c Don't report an error when closing heads during local push (issue387)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3684
diff changeset
    55
hg push -r 3 ../c; echo $?
2aef481ac73c Don't report an error when closing heads during local push (issue387)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3684
diff changeset
    56
hg push -r 3 -r 4 ../c; echo $?
2aef481ac73c Don't report an error when closing heads during local push (issue387)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3684
diff changeset
    57
hg push -f -r 3 -r 4 ../c; echo $?
2aef481ac73c Don't report an error when closing heads during local push (issue387)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3684
diff changeset
    58
hg push -r 5 ../c; echo $?
10908
816bac2f9452 prepush: fix bug in warning message selection
Sune Foldager <cryo@cyanite.org>
parents: 10875
diff changeset
    59
hg in ../c
2021
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
    60
10908
816bac2f9452 prepush: fix bug in warning message selection
Sune Foldager <cryo@cyanite.org>
parents: 10875
diff changeset
    61
echo % issue 450
3923
27230c29bfec fix calculation of new heads added during push with -r
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3803
diff changeset
    62
hg init ../e
27230c29bfec fix calculation of new heads added during push with -r
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3803
diff changeset
    63
hg push -r 0 ../e ; echo $?
27230c29bfec fix calculation of new heads added during push with -r
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3803
diff changeset
    64
hg push -r 1 ../e ; echo $?
27230c29bfec fix calculation of new heads added during push with -r
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3803
diff changeset
    65
8565
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    66
cd ..
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    67
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    68
echo % issue 736
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    69
hg init f
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    70
cd f
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    71
hg -q branch a
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    72
echo 0 > foo
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    73
hg -q ci -d "1000000 0" -Am 0
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    74
echo 1 > foo
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    75
hg -q ci -d "1000000 0" -m 1
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    76
hg -q up 0
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    77
echo 2 > foo
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    78
hg -q ci -d "1000000 0" -m 2
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    79
hg -q up 0
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    80
hg -q branch b
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    81
echo 3 > foo
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    82
hg -q ci -d "1000000 0" -m 3
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    83
cd ..
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    84
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    85
hg -q clone f g
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    86
cd g
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    87
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    88
echo % push on existing branch and new branch
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    89
hg -q up 1
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    90
echo 4 > foo
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    91
hg -q ci -d "1000000 0" -m 4
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    92
hg -q up 0
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    93
echo 5 > foo
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    94
hg -q branch c
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    95
hg -q ci -d "1000000 0" -m 5
10354
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
    96
hg push ../f; echo $?
8565
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    97
hg push -r 4 -r 5 ../f; echo $?
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
    98
10354
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
    99
echo % multiple new branches
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   100
hg -q branch d
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   101
echo 6 > foo
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   102
hg -q ci -d "1000000 0" -m 6
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   103
hg push ../f; echo $?
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   104
hg push -r 4 -r 6 ../f; echo $?
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   105
cd ../g
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   106
8565
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
   107
echo % fail on multiple head push
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
   108
hg -q up 1
10354
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   109
echo 7 > foo
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   110
hg -q ci -d "1000000 0" -m 7
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   111
hg push -r 4 -r 7 ../f; echo $?
8565
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
   112
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
   113
echo % push replacement head on existing branches
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
   114
hg -q up 3
10354
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   115
echo 8 > foo
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   116
hg -q ci -d "1000000 0" -m 8
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   117
hg push -r 7 -r 8 ../f; echo $?
8565
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
   118
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
   119
echo % merge of branch a to other branch b followed by unrelated push on branch a
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
   120
hg -q up 7
10354
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   121
HGMERGE=true hg -q merge 8
8565
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
   122
hg -q ci -d "1000000 0" -m 9
10354
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   123
hg -q up 8
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   124
echo 10 > foo
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   125
hg -q ci -d "1000000 0" -m 10
8565
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
   126
hg push -r 9 ../f; echo $?
10354
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   127
hg push -r 10 ../f; echo $?
8565
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
   128
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
   129
echo % cheating the counting algorithm
10354
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   130
hg -q up 9
8565
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
   131
HGMERGE=true hg -q merge 2
10354
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   132
hg -q ci -d "1000000 0" -m 11
8565
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
   133
hg -q up 1
10354
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   134
echo 12 > foo
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   135
hg -q ci -d "1000000 0" -m 12
844d83da2da9 prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 9954
diff changeset
   136
hg push -r 11 -r 12 ../f; echo $?
8565
268d16b2ec25 tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents: 3923
diff changeset
   137
9479
f3569d95c2ab push: fix subtle bug in prepush logic
Sune Foldager <cryo@cyanite.org>
parents: 8565
diff changeset
   138
echo % checking prepush logic does not allow silently pushing multiple new heads
f3569d95c2ab push: fix subtle bug in prepush logic
Sune Foldager <cryo@cyanite.org>
parents: 8565
diff changeset
   139
cd ..
9609
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
   140
hg init h
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
   141
echo init > h/init
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
   142
hg -R h ci -Am init
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
   143
echo a > h/a
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
   144
hg -R h ci -Am a
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
   145
hg clone h i
9479
f3569d95c2ab push: fix subtle bug in prepush logic
Sune Foldager <cryo@cyanite.org>
parents: 8565
diff changeset
   146
hg -R h up 0
9609
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
   147
echo b > h/b
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
   148
hg -R h ci -Am b
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
   149
hg -R i up 0
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
   150
echo c > i/c
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
   151
hg -R i ci -Am c
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
   152
hg -R i push h
9479
f3569d95c2ab push: fix subtle bug in prepush logic
Sune Foldager <cryo@cyanite.org>
parents: 8565
diff changeset
   153
echo
f3569d95c2ab push: fix subtle bug in prepush logic
Sune Foldager <cryo@cyanite.org>
parents: 8565
diff changeset
   154
9954
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
   155
echo % check prepush logic with merged branches
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
   156
hg init j
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
   157
hg -R j branch a
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
   158
echo init > j/foo
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
   159
hg -R j ci -Am init
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
   160
hg clone j k
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
   161
echo a1 > j/foo
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
   162
hg -R j ci -m a1
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
   163
hg -R k branch b
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
   164
echo b > k/foo
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
   165
hg -R k ci -m b
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
   166
hg -R k up 0
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
   167
hg -R k merge b
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
   168
hg -R k ci -m merge
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
   169
hg -R k push -r a j
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
   170
echo
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
   171
10771
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   172
echo % prepush -r should not allow you to sneak in new heads
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   173
hg init l
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   174
cd l
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   175
echo a >> foo
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   176
hg -q add foo
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   177
hg -q branch a
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   178
hg -q ci -d '0 0' -ma
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   179
hg -q up null
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   180
echo a >> foo
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   181
hg -q add foo
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   182
hg -q branch b
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   183
hg -q ci -d '0 0' -mb
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   184
cd ..
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   185
hg -q clone l m -u a
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   186
cd m
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   187
hg -q merge b
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   188
hg -q ci -d '0 0' -mmb
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   189
hg -q up 0
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   190
echo a >> foo
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   191
hg -q ci -ma2
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   192
hg -q up 2
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   193
echo a >> foo
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   194
hg -q branch -f b
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   195
hg -q ci -d '0 0' -mb2
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   196
hg -q merge 3
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   197
hg -q ci -d '0 0' -mma
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   198
hg push ../l -b b
10875
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   199
cd ..
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   200
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   201
echo % check prepush with new branch head on former topo non-head
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   202
hg init n
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   203
cd n
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   204
hg branch A
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   205
echo a >a
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   206
hg ci -Ama
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   207
hg branch B
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   208
echo b >b
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   209
hg ci -Amb
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   210
# b is now branch head of B, and a topological head
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   211
# a is now branch head of A, but not a topological head
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   212
hg clone . inner
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   213
cd inner
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   214
hg up B
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   215
echo b1 >b1
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   216
hg ci -Amb1
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   217
# in the clone b1 is now the head of B
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   218
cd ..
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   219
hg up 0
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   220
echo a2 >a2
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   221
hg ci -Ama2
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   222
# a2 is now the new branch head of A, and a new topological head
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   223
# it replaces a former inner branch head, so it should at most warn about A, not B
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   224
echo %% glog of local
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   225
hg glog --template "{rev}: {branches} {desc}\n"
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   226
echo %% glog of remote
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   227
hg glog -R inner --template "{rev}: {branches} {desc}\n"
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   228
echo %% outgoing
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   229
hg out inner --template "{rev}: {branches} {desc}\n"
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   230
hg push inner
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   231
cd ..
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   232
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   233
echo % check prepush with new branch head on former topo head
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   234
hg init o
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   235
cd o
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   236
hg branch A
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   237
echo a >a
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   238
hg ci -Ama
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   239
hg branch B
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   240
echo b >b
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   241
hg ci -Amb
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   242
# b is now branch head of B, and a topological head
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   243
hg up 0
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   244
echo a1 >a1
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   245
hg ci -Ama1
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   246
# a1 is now branch head of A, and a topological head
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   247
hg clone . inner
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   248
cd inner
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   249
hg up B
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   250
echo b1 >b1
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   251
hg ci -Amb1
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   252
# in the clone b1 is now the head of B
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   253
cd ..
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   254
echo a2 >a2
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   255
hg ci -Ama2
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   256
# a2 is now the new branch head of A, and a topological head
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   257
# it replaces a former topological and branch head, so this should not warn
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   258
echo %% glog of local
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   259
hg glog --template "{rev}: {branches} {desc}\n"
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   260
echo %% glog of remote
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   261
hg glog -R inner --template "{rev}: {branches} {desc}\n"
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   262
echo %% outgoing
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   263
hg out inner --template "{rev}: {branches} {desc}\n"
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   264
hg push inner
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
   265
cd ..
10771
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
   266
10909
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   267
echo % check prepush with new branch head and new child of former branch head
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   268
echo % but child is on different branch
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   269
hg init p
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   270
cd p
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   271
hg branch A
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   272
echo a0 >a
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   273
hg ci -Ama0
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   274
echo a1 >a
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   275
hg ci -ma1
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   276
hg up null
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   277
hg branch B
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   278
echo b0 >b
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   279
hg ci -Amb0
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   280
echo b1 >b
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   281
hg ci -mb1
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   282
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   283
hg clone . inner
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   284
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   285
hg up A
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   286
hg branch -f B
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   287
echo a3 >a
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   288
hg ci -ma3
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   289
hg up 3
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   290
hg branch -f A
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   291
echo b3 >b
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   292
hg ci -mb3
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   293
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   294
echo %% glog of local
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   295
hg glog --template "{rev}: {branches} {desc}\n"
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   296
echo %% glog of remote
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   297
hg glog -R inner --template "{rev}: {branches} {desc}\n"
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   298
echo %% outgoing
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   299
hg out inner --template "{rev}: {branches} {desc}\n"
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   300
hg push inner
10925
a101a743c570 prepush: rewrite most of the code from scratch
Sune Foldager <cryo@cyanite.org>
parents: 10909
diff changeset
   301
hg push inner -r4 -r5
a101a743c570 prepush: rewrite most of the code from scratch
Sune Foldager <cryo@cyanite.org>
parents: 10909
diff changeset
   302
hg in inner
10909
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   303
cd ..
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
   304
2021
fc22ed56afe3 Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1933
diff changeset
   305
exit 0