annotate tests/test-push-warn @ 11769:ca6cebd8734e stable

dirstate: ignore symlinks when fs cannot handle them (issue1888) When the filesystem cannot handle the executable bit, we currently ignore it completely when looking for modified files. Similarly, it is impossible to set or clear the bit when the filesystem ignores it. This patch makes Mercurial treat symbolic links the same way. Symlinks are a little different since they manifest themselves as small files containing a filename (the symlink target). On Windows, these files show up as regular files, and on Linux and Mac they show up as real symlinks. Issue1888 presents a case where the symlink files are better ignored from the Windows side. A Linux client creates symlinks in a working copy which is shared over a network between Linux and Windows clients. The Samba server is helpful and defererences the symlink when the Windows client looks at it. This means that Mercurial on the Windows side sees file content instead of a file name in the symlink, and hence flags the link as modified. Ignoring the change would be much more helpful, similarly to how Mercurial does not report any changes when executable bits are ignored in a checkout on Windows. An initial checkout of a symbolic link on a file system that cannot handle symbolic links will still result in a regular file containing the target file name as its content. Sharing such a checkout with a Linux client will not turn the file into a symlink automatically, but 'hg revert' can fix that. After the revert, the Windows client will see the correct file content (provided by the Samba server when it follows the link on the Linux side) and otherwise ignore the change. Running 'hg perfstatus' 10 times gives these results: Before: After: min: 0.544703 min: 0.546549 med: 0.547592 med: 0.548881 avg: 0.549146 avg: 0.548549 max: 0.564112 max: 0.551504 The median time is increased about 0.24%.
author Martin Geisler <mg@aragost.com>
date Mon, 09 Aug 2010 15:31:56 +0200
parents e43c23d189a5
children 4c94b6d0fb1c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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
11211
e43c23d189a5 push: add --new-branch option to allow intial push of new branches
Sune Foldager <cryo@cyanite.org>
parents: 10925
diff changeset
138 echo % failed push of new named branch
e43c23d189a5 push: add --new-branch option to allow intial push of new branches
Sune Foldager <cryo@cyanite.org>
parents: 10925
diff changeset
139 echo 12 > foo
e43c23d189a5 push: add --new-branch option to allow intial push of new branches
Sune Foldager <cryo@cyanite.org>
parents: 10925
diff changeset
140 hg -q ci -d "1000000 0" -m 12a
e43c23d189a5 push: add --new-branch option to allow intial push of new branches
Sune Foldager <cryo@cyanite.org>
parents: 10925
diff changeset
141 hg -q up 11
e43c23d189a5 push: add --new-branch option to allow intial push of new branches
Sune Foldager <cryo@cyanite.org>
parents: 10925
diff changeset
142 echo 13 > foo
e43c23d189a5 push: add --new-branch option to allow intial push of new branches
Sune Foldager <cryo@cyanite.org>
parents: 10925
diff changeset
143 hg -q branch e
e43c23d189a5 push: add --new-branch option to allow intial push of new branches
Sune Foldager <cryo@cyanite.org>
parents: 10925
diff changeset
144 hg -q ci -d "1000000 0" -m 13d
e43c23d189a5 push: add --new-branch option to allow intial push of new branches
Sune Foldager <cryo@cyanite.org>
parents: 10925
diff changeset
145 hg push -r 12 -r 13 ../f; echo $?
e43c23d189a5 push: add --new-branch option to allow intial push of new branches
Sune Foldager <cryo@cyanite.org>
parents: 10925
diff changeset
146
e43c23d189a5 push: add --new-branch option to allow intial push of new branches
Sune Foldager <cryo@cyanite.org>
parents: 10925
diff changeset
147 echo % using --new-branch to push new named branch
e43c23d189a5 push: add --new-branch option to allow intial push of new branches
Sune Foldager <cryo@cyanite.org>
parents: 10925
diff changeset
148 hg push --new-branch -r 12 -r 13 ../f; echo $?
e43c23d189a5 push: add --new-branch option to allow intial push of new branches
Sune Foldager <cryo@cyanite.org>
parents: 10925
diff changeset
149
9479
f3569d95c2ab push: fix subtle bug in prepush logic
Sune Foldager <cryo@cyanite.org>
parents: 8565
diff changeset
150 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
151 cd ..
9609
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
152 hg init h
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
153 echo init > h/init
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
154 hg -R h ci -Am init
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
155 echo a > h/a
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
156 hg -R h ci -Am a
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
157 hg clone h i
9479
f3569d95c2ab push: fix subtle bug in prepush logic
Sune Foldager <cryo@cyanite.org>
parents: 8565
diff changeset
158 hg -R h up 0
9609
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
159 echo b > h/b
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
160 hg -R h ci -Am b
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
161 hg -R i up 0
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
162 echo c > i/c
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
163 hg -R i ci -Am c
aa404f3f661b tests: fix inadvertent use of existing test repository
Henrik Stuart <hg@hstuart.dk>
parents: 9479
diff changeset
164 hg -R i push h
9479
f3569d95c2ab push: fix subtle bug in prepush logic
Sune Foldager <cryo@cyanite.org>
parents: 8565
diff changeset
165 echo
f3569d95c2ab push: fix subtle bug in prepush logic
Sune Foldager <cryo@cyanite.org>
parents: 8565
diff changeset
166
9954
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
167 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
168 hg init j
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
169 hg -R j branch a
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
170 echo init > j/foo
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
171 hg -R j ci -Am init
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
172 hg clone j k
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
173 echo a1 > j/foo
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
174 hg -R j ci -m a1
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
175 hg -R k branch b
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
176 echo b > k/foo
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
177 hg -R k ci -m b
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
178 hg -R k up 0
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
179 hg -R k merge b
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
180 hg -R k ci -m merge
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
181 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
182 echo
d6a307719ccb fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents: 9609
diff changeset
183
10771
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
184 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
185 hg init l
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
186 cd l
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
187 echo a >> foo
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
188 hg -q add foo
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
189 hg -q branch a
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
190 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
191 hg -q up null
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
192 echo a >> foo
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
193 hg -q add foo
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
194 hg -q branch 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' -mb
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
196 cd ..
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
197 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
198 cd m
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
199 hg -q merge b
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
200 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
201 hg -q up 0
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
202 echo a >> foo
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
203 hg -q ci -ma2
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
204 hg -q up 2
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
205 echo a >> foo
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
206 hg -q branch -f b
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
207 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
208 hg -q merge 3
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
209 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
210 hg push ../l -b b
10875
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
211 cd ..
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
212
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
213 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
214 hg init n
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
215 cd n
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
216 hg branch A
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
217 echo a >a
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
218 hg ci -Ama
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
219 hg branch B
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
220 echo b >b
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
221 hg ci -Amb
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
222 # 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
223 # 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
224 hg clone . inner
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
225 cd inner
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
226 hg up B
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
227 echo b1 >b1
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
228 hg ci -Amb1
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
229 # 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
230 cd ..
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
231 hg up 0
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
232 echo a2 >a2
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
233 hg ci -Ama2
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
234 # 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
235 # 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
236 echo %% glog of local
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
237 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
238 echo %% glog of remote
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
239 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
240 echo %% outgoing
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
241 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
242 hg push inner
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
243 cd ..
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
244
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
245 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
246 hg init o
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
247 cd o
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
248 hg branch A
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
249 echo a >a
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
250 hg ci -Ama
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
251 hg branch B
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
252 echo b >b
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
253 hg ci -Amb
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
254 # 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
255 hg up 0
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
256 echo a1 >a1
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
257 hg ci -Ama1
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
258 # 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
259 hg clone . inner
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
260 cd inner
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
261 hg up B
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
262 echo b1 >b1
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
263 hg ci -Amb1
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
264 # 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
265 cd ..
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
266 echo a2 >a2
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
267 hg ci -Ama2
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
268 # 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
269 # 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
270 echo %% glog of local
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
271 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
272 echo %% glog of remote
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
273 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
274 echo %% outgoing
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
275 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
276 hg push inner
a9702c47a19f partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents: 10771
diff changeset
277 cd ..
10771
01f097c4ae66 push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents: 10354
diff changeset
278
10909
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
279 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
280 echo % but child is on different branch
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
281 hg init p
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
282 cd p
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
283 hg branch A
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
284 echo a0 >a
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
285 hg ci -Ama0
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
286 echo a1 >a
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
287 hg ci -ma1
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
288 hg up null
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
289 hg branch B
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
290 echo b0 >b
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
291 hg ci -Amb0
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
292 echo b1 >b
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
293 hg ci -mb1
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
294
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
295 hg clone . inner
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
296
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
297 hg up A
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
298 hg branch -f B
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
299 echo a3 >a
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
300 hg ci -ma3
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
301 hg up 3
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
302 hg branch -f A
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
303 echo b3 >b
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
304 hg ci -mb3
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
305
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
306 echo %% glog of local
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
307 hg glog --template "{rev}: {branches} {desc}\n"
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
308 echo %% glog of remote
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
309 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
310 echo %% outgoing
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
311 hg out inner --template "{rev}: {branches} {desc}\n"
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
312 hg push inner
10925
a101a743c570 prepush: rewrite most of the code from scratch
Sune Foldager <cryo@cyanite.org>
parents: 10909
diff changeset
313 hg push inner -r4 -r5
a101a743c570 prepush: rewrite most of the code from scratch
Sune Foldager <cryo@cyanite.org>
parents: 10909
diff changeset
314 hg in inner
10909
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
315 cd ..
29a83fb8c067 prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 10908
diff changeset
316
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
317 exit 0