annotate tests/test-update-branches.t @ 19819:f0fc4d5797e1

mq: extract `mq.queue.strip` It does not depend on `mq.queue` anymore.
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Wed, 25 Sep 2013 14:07:37 +0200
parents 41abe2e3e3b7
children 2ca325ea57fa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9716
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
1 # Construct the following history tree:
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
2 #
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
3 # @ 5:e1bb631146ca b1
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
4 # |
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
5 # o 4:a4fdb3b883c4 0:b608b9236435 b1
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
6 # |
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
7 # | o 3:4b57d2520816 1:44592833ba9f
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
8 # | |
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
9 # | | o 2:063f31070f65
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
10 # | |/
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
11 # | o 1:44592833ba9f
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
12 # |/
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
13 # o 0:b608b9236435
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
14
17773
434e5bd615fc commands: don't infer repo for commands like update (issue2748)
Siddharth Agarwal <sid0@fb.com>
parents: 17347
diff changeset
15 $ mkdir b1
434e5bd615fc commands: don't infer repo for commands like update (issue2748)
Siddharth Agarwal <sid0@fb.com>
parents: 17347
diff changeset
16 $ cd b1
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
17 $ hg init
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
18 $ echo foo > foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
19 $ echo zero > a
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
20 $ hg init sub
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
21 $ echo suba > sub/suba
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
22 $ hg --cwd sub ci -Am addsuba
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
23 adding suba
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
24 $ echo 'sub = sub' > .hgsub
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
25 $ hg ci -qAm0
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
26 $ echo one > a ; hg ci -m1
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
27 $ echo two > a ; hg ci -m2
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
28 $ hg up -q 1
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
29 $ echo three > a ; hg ci -qm3
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
30 $ hg up -q 0
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
31 $ hg branch -q b1
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
32 $ echo four > a ; hg ci -qm4
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
33 $ echo five > a ; hg ci -qm5
9716
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
34
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
35 Initial repo state:
9716
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
36
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
37 $ hg --config 'extensions.graphlog=' \
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
38 > glog --template '{rev}:{node|short} {parents} {branches}\n'
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
39 @ 5:ff252e8273df b1
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
40 |
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
41 o 4:d047485b3896 0:60829823a42a b1
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
42 |
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
43 | o 3:6efa171f091b 1:0786582aa4b1
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
44 | |
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
45 | | o 2:bd10386d478c
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
46 | |/
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
47 | o 1:0786582aa4b1
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
48 |/
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
49 o 0:60829823a42a
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
50
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
51
17773
434e5bd615fc commands: don't infer repo for commands like update (issue2748)
Siddharth Agarwal <sid0@fb.com>
parents: 17347
diff changeset
52 Make sure update doesn't assume b1 is a repository if invoked from outside:
434e5bd615fc commands: don't infer repo for commands like update (issue2748)
Siddharth Agarwal <sid0@fb.com>
parents: 17347
diff changeset
53
434e5bd615fc commands: don't infer repo for commands like update (issue2748)
Siddharth Agarwal <sid0@fb.com>
parents: 17347
diff changeset
54 $ cd ..
434e5bd615fc commands: don't infer repo for commands like update (issue2748)
Siddharth Agarwal <sid0@fb.com>
parents: 17347
diff changeset
55 $ hg update b1
434e5bd615fc commands: don't infer repo for commands like update (issue2748)
Siddharth Agarwal <sid0@fb.com>
parents: 17347
diff changeset
56 abort: no repository found in '$TESTTMP' (.hg not found)!
434e5bd615fc commands: don't infer repo for commands like update (issue2748)
Siddharth Agarwal <sid0@fb.com>
parents: 17347
diff changeset
57 [255]
434e5bd615fc commands: don't infer repo for commands like update (issue2748)
Siddharth Agarwal <sid0@fb.com>
parents: 17347
diff changeset
58 $ cd b1
434e5bd615fc commands: don't infer repo for commands like update (issue2748)
Siddharth Agarwal <sid0@fb.com>
parents: 17347
diff changeset
59
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
60 Test helper functions:
9716
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
61
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
62 $ revtest () {
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
63 > msg=$1
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
64 > dirtyflag=$2 # 'clean', 'dirty' or 'dirtysub'
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
65 > startrev=$3
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
66 > targetrev=$4
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
67 > opt=$5
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
68 > hg up -qC $startrev
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
69 > test $dirtyflag = dirty && echo dirty > foo
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
70 > test $dirtyflag = dirtysub && echo dirty > sub/suba
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
71 > hg up $opt $targetrev
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
72 > hg parent --template 'parent={rev}\n'
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
73 > hg stat -S
17347
2da47de36b6f check-code: fix check for trailing whitespace on continued lines too
Mads Kiilerich <mads@kiilerich.com>
parents: 16491
diff changeset
74 > }
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
75
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
76 $ norevtest () {
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
77 > msg=$1
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
78 > dirtyflag=$2 # 'clean', 'dirty' or 'dirtysub'
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
79 > startrev=$3
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
80 > opt=$4
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
81 > hg up -qC $startrev
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
82 > test $dirtyflag = dirty && echo dirty > foo
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
83 > test $dirtyflag = dirtysub && echo dirty > sub/suba
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
84 > hg up $opt
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
85 > hg parent --template 'parent={rev}\n'
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
86 > hg stat -S
17347
2da47de36b6f check-code: fix check for trailing whitespace on continued lines too
Mads Kiilerich <mads@kiilerich.com>
parents: 16491
diff changeset
87 > }
9716
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
88
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12279
diff changeset
89 Test cases are documented in a table in the update function of merge.py.
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12279
diff changeset
90 Cases are run as shown in that table, row by row.
9716
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
91
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
92 $ norevtest 'none clean linear' clean 4
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
93 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
94 parent=5
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
95
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
96 $ norevtest 'none clean same' clean 2
19798
76df01e56e7f update: improve error message for clean non-linear update
Siddharth Agarwal <sid0@fb.com>
parents: 18985
diff changeset
97 abort: not a linear update
76df01e56e7f update: improve error message for clean non-linear update
Siddharth Agarwal <sid0@fb.com>
parents: 18985
diff changeset
98 (merge or update --check to force update)
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
99 parent=2
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
100
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
101
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
102 $ revtest 'none clean linear' clean 1 2
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
103 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
104 parent=2
9716
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
105
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
106 $ revtest 'none clean same' clean 2 3
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
107 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
108 parent=3
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
109
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
110 $ revtest 'none clean cross' clean 3 4
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
111 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
112 parent=4
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
113
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
114
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
115 $ revtest 'none dirty linear' dirty 1 2
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
116 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
117 parent=2
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
118 M foo
9716
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
119
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
120 $ revtest 'none dirtysub linear' dirtysub 1 2
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
121 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
122 parent=2
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
123 M sub/suba
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
124
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
125 $ revtest 'none dirty same' dirty 2 3
19799
ab3e42225dbc update: add error message for dirty non-linear update with no rev
Siddharth Agarwal <sid0@fb.com>
parents: 19798
diff changeset
126 abort: uncommitted changes
ab3e42225dbc update: add error message for dirty non-linear update with no rev
Siddharth Agarwal <sid0@fb.com>
parents: 19798
diff changeset
127 (commit or update --clean to discard changes)
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
128 parent=2
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
129 M foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
130
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
131 $ revtest 'none dirtysub same' dirtysub 2 3
19799
ab3e42225dbc update: add error message for dirty non-linear update with no rev
Siddharth Agarwal <sid0@fb.com>
parents: 19798
diff changeset
132 abort: uncommitted changes
ab3e42225dbc update: add error message for dirty non-linear update with no rev
Siddharth Agarwal <sid0@fb.com>
parents: 19798
diff changeset
133 (commit or update --clean to discard changes)
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
134 parent=2
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
135 M sub/suba
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
136
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
137 $ revtest 'none dirty cross' dirty 3 4
19799
ab3e42225dbc update: add error message for dirty non-linear update with no rev
Siddharth Agarwal <sid0@fb.com>
parents: 19798
diff changeset
138 abort: uncommitted changes
ab3e42225dbc update: add error message for dirty non-linear update with no rev
Siddharth Agarwal <sid0@fb.com>
parents: 19798
diff changeset
139 (commit or update --clean to discard changes)
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
140 parent=3
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
141 M foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
142
19800
4894e0d9462d update: improve error message for dirty non-linear update with rev
Siddharth Agarwal <sid0@fb.com>
parents: 19799
diff changeset
143 $ norevtest 'none dirty cross' dirty 2
4894e0d9462d update: improve error message for dirty non-linear update with rev
Siddharth Agarwal <sid0@fb.com>
parents: 19799
diff changeset
144 abort: uncommitted changes
4894e0d9462d update: improve error message for dirty non-linear update with rev
Siddharth Agarwal <sid0@fb.com>
parents: 19799
diff changeset
145 (commit and merge, or update --clean to discard changes)
4894e0d9462d update: improve error message for dirty non-linear update with rev
Siddharth Agarwal <sid0@fb.com>
parents: 19799
diff changeset
146 parent=2
4894e0d9462d update: improve error message for dirty non-linear update with rev
Siddharth Agarwal <sid0@fb.com>
parents: 19799
diff changeset
147 M foo
4894e0d9462d update: improve error message for dirty non-linear update with rev
Siddharth Agarwal <sid0@fb.com>
parents: 19799
diff changeset
148
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
149 $ revtest 'none dirtysub cross' dirtysub 3 4
19799
ab3e42225dbc update: add error message for dirty non-linear update with no rev
Siddharth Agarwal <sid0@fb.com>
parents: 19798
diff changeset
150 abort: uncommitted changes
ab3e42225dbc update: add error message for dirty non-linear update with no rev
Siddharth Agarwal <sid0@fb.com>
parents: 19798
diff changeset
151 (commit or update --clean to discard changes)
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
152 parent=3
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
153 M sub/suba
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
154
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
155 $ revtest '-C dirty linear' dirty 1 2 -C
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
156 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
157 parent=2
9716
ea8c207a0f78 update: add comments and test cases for updating across branches
Stuart W Marks <smarks@smarks.org>
parents:
diff changeset
158
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
159 $ revtest '-c dirty linear' dirty 1 2 -c
19801
41abe2e3e3b7 update: standardize error message for dirty update --check
Siddharth Agarwal <sid0@fb.com>
parents: 19800
diff changeset
160 abort: uncommitted changes
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
161 parent=1
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
162 M foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
163
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
164 $ revtest '-c dirtysub linear' dirtysub 1 2 -c
19801
41abe2e3e3b7 update: standardize error message for dirty update --check
Siddharth Agarwal <sid0@fb.com>
parents: 19800
diff changeset
165 abort: uncommitted changes
16491
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
166 parent=1
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
167 M sub/suba
bfe89d65d651 update: make --check abort with dirty subrepos
Patrick Mezard <patrick@mezard.eu>
parents: 14485
diff changeset
168
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
169 $ norevtest '-c clean same' clean 2 -c
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
170 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
171 parent=3
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
172
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
173 $ revtest '-cC dirty linear' dirty 1 2 -cC
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
174 abort: cannot specify both -c/--check and -C/--clean
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
175 parent=1
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
176 M foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 9716
diff changeset
177
18985
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
178 Test obsolescence behavior
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
179 ---------------------------------------------------------------------
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
180
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
181 successors should be taken in account when checking head destination
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
182
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
183 $ cat << EOF >> $HGRCPATH
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
184 > [extensions]
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
185 > obs=$TESTTMP/obs.py
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
186 > [ui]
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
187 > logtemplate={rev}:{node|short} {desc|firstline}
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
188 > EOF
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
189 $ cat > $TESTTMP/obs.py << EOF
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
190 > import mercurial.obsolete
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
191 > mercurial.obsolete._enabled = True
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
192 > EOF
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
193
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
194 Test no-argument update to a successor of an obsoleted changeset
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
195
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
196 $ hg log -G
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
197 o 5:ff252e8273df 5
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
198 |
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
199 o 4:d047485b3896 4
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
200 |
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
201 | o 3:6efa171f091b 3
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
202 | |
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
203 | | o 2:bd10386d478c 2
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
204 | |/
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
205 | @ 1:0786582aa4b1 1
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
206 |/
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
207 o 0:60829823a42a 0
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
208
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
209 $ hg status
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
210 M foo
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
211
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
212 We add simple obsolescence marker between 3 and 4 (indirect successors)
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
213
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
214 $ hg id --debug -i -r 3
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
215 6efa171f091b00a3c35edc15d48c52a498929953
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
216 $ hg id --debug -i -r 4
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
217 d047485b3896813b2a624e86201983520f003206
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
218 $ hg debugobsolete 6efa171f091b00a3c35edc15d48c52a498929953 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
219 $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa d047485b3896813b2a624e86201983520f003206
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
220
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
221 Test that 5 is detected as a valid destination from 3
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
222 $ hg up --quiet --hidden 3
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
223 $ hg up 5
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
224 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
225
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
226 Test that 5 is detected as a valid destination from 1
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
227 $ hg up --quiet 0 # we should be able to update to 3 directly
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
228 $ hg up --quiet --hidden 3 # but not implemented yet.
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
229 $ hg up 5
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
230 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
231
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
232 Test that 5 is not detected as a valid destination from 2
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
233 $ hg up --quiet 0
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
234 $ hg up --quiet 2
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
235 $ hg up 5
19799
ab3e42225dbc update: add error message for dirty non-linear update with no rev
Siddharth Agarwal <sid0@fb.com>
parents: 19798
diff changeset
236 abort: uncommitted changes
ab3e42225dbc update: add error message for dirty non-linear update with no rev
Siddharth Agarwal <sid0@fb.com>
parents: 19798
diff changeset
237 (commit or update --clean to discard changes)
18985
a59e575c6ff8 update: allow dirty update to foreground (successors)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17773
diff changeset
238 [255]