Mercurial > hg
annotate tests/test-pull-branch.t @ 14732:e9ed3506f066 stable
backout of d04ba50e104d: allow to qpop/push with a dirty working copy
The new behavior was breaking existing tools that relied on a sequence such as
this:
1) start with a dirty working copy
2) qimport some patch
3) try to qpush it
4) old behavior would fail at this point due to outstanding changes.
(new behavior would only fail if the outstanding changes and the patches
changes intersect)
5) innocent user qrefreshes, gets his local changes in the imported patch
It's worth considering if we can move this behavior to -f in the future.
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Fri, 24 Jun 2011 23:25:42 +0300 |
parents | 610873cf064a |
children | 41885892796e |
rev | line source |
---|---|
12279 | 1 $ hg init t |
2 $ cd t | |
3 $ echo 1 > foo | |
4 $ hg ci -Am1 # 0 | |
5 adding foo | |
6 $ hg branch branchA | |
7 marked working directory as branch branchA | |
8 $ echo a1 > foo | |
9 $ hg ci -ma1 # 1 | |
7372
e17dbf140035
pull: update to branch tip if there is only one head on the current branch
Benoit Allard <benoit@aeteurope.nl>
parents:
diff
changeset
|
10 |
12279 | 11 $ cd .. |
12 $ hg init tt | |
13 $ cd tt | |
14 $ hg pull ../t | |
15 pulling from ../t | |
16 requesting all changes | |
17 adding changesets | |
18 adding manifests | |
19 adding file changes | |
20 added 2 changesets with 2 changes to 1 files | |
21 (run 'hg update' to get a working copy) | |
22 $ hg up branchA | |
23 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
7372
e17dbf140035
pull: update to branch tip if there is only one head on the current branch
Benoit Allard <benoit@aeteurope.nl>
parents:
diff
changeset
|
24 |
12279 | 25 $ cd ../t |
26 $ echo a2 > foo | |
27 $ hg ci -ma2 # 2 | |
28 | |
29 Create branch B: | |
7372
e17dbf140035
pull: update to branch tip if there is only one head on the current branch
Benoit Allard <benoit@aeteurope.nl>
parents:
diff
changeset
|
30 |
12279 | 31 $ hg up 0 |
32 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
33 $ hg branch branchB | |
34 marked working directory as branch branchB | |
35 $ echo b1 > foo | |
36 $ hg ci -mb1 # 3 | |
37 | |
38 $ cd ../tt | |
39 | |
40 A new branch is there | |
7372
e17dbf140035
pull: update to branch tip if there is only one head on the current branch
Benoit Allard <benoit@aeteurope.nl>
parents:
diff
changeset
|
41 |
12279 | 42 $ hg pull -u ../t |
43 pulling from ../t | |
44 searching for changes | |
45 adding changesets | |
46 adding manifests | |
47 adding file changes | |
48 added 2 changesets with 2 changes to 1 files (+1 heads) | |
49 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
50 | |
51 Develop both branches: | |
7372
e17dbf140035
pull: update to branch tip if there is only one head on the current branch
Benoit Allard <benoit@aeteurope.nl>
parents:
diff
changeset
|
52 |
12279 | 53 $ cd ../t |
54 $ hg up branchA | |
55 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
56 $ echo a3 > foo | |
57 $ hg ci -ma3 # 4 | |
58 $ hg up branchB | |
59 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
60 $ echo b2 > foo | |
61 $ hg ci -mb2 # 5 | |
62 | |
63 $ cd ../tt | |
64 | |
65 Should succeed, no new heads: | |
7372
e17dbf140035
pull: update to branch tip if there is only one head on the current branch
Benoit Allard <benoit@aeteurope.nl>
parents:
diff
changeset
|
66 |
12279 | 67 $ hg pull -u ../t |
68 pulling from ../t | |
69 searching for changes | |
70 adding changesets | |
71 adding manifests | |
72 adding file changes | |
73 added 2 changesets with 2 changes to 1 files | |
74 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
75 | |
76 Add a head on other branch: | |
7372
e17dbf140035
pull: update to branch tip if there is only one head on the current branch
Benoit Allard <benoit@aeteurope.nl>
parents:
diff
changeset
|
77 |
12279 | 78 $ cd ../t |
79 $ hg up branchA | |
80 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
81 $ echo a4 > foo | |
82 $ hg ci -ma4 # 6 | |
83 $ hg up branchB | |
84 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
85 $ echo b3.1 > foo | |
86 $ hg ci -m b3.1 # 7 | |
87 $ hg up 5 | |
88 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
89 $ echo b3.2 > foo | |
90 $ hg ci -m b3.2 # 8 | |
91 created new head | |
92 | |
93 $ cd ../tt | |
94 | |
95 Should succeed because there is only one head on our branch: | |
7372
e17dbf140035
pull: update to branch tip if there is only one head on the current branch
Benoit Allard <benoit@aeteurope.nl>
parents:
diff
changeset
|
96 |
12279 | 97 $ hg pull -u ../t |
98 pulling from ../t | |
99 searching for changes | |
100 adding changesets | |
101 adding manifests | |
102 adding file changes | |
103 added 3 changesets with 3 changes to 1 files (+1 heads) | |
104 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
7372
e17dbf140035
pull: update to branch tip if there is only one head on the current branch
Benoit Allard <benoit@aeteurope.nl>
parents:
diff
changeset
|
105 |
12279 | 106 $ cd ../t |
107 $ hg up -C branchA | |
108 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
109 $ echo a5.1 > foo | |
110 $ hg ci -ma5.1 # 9 | |
111 $ hg up 6 | |
112 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
113 $ echo a5.2 > foo | |
114 $ hg ci -ma5.2 # 10 | |
115 created new head | |
116 $ hg up 7 | |
117 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
118 $ echo b4.1 > foo | |
119 $ hg ci -m b4.1 # 11 | |
120 $ hg up -C 8 | |
121 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
122 $ echo b4.2 > foo | |
123 $ hg ci -m b4.2 # 12 | |
7372
e17dbf140035
pull: update to branch tip if there is only one head on the current branch
Benoit Allard <benoit@aeteurope.nl>
parents:
diff
changeset
|
124 |
12279 | 125 $ cd ../tt |
126 | |
127 $ hg pull -u ../t | |
128 pulling from ../t | |
129 searching for changes | |
130 adding changesets | |
131 adding manifests | |
132 adding file changes | |
133 added 4 changesets with 4 changes to 1 files (+1 heads) | |
14485
610873cf064a
Make pull -u behave like pull && update
Brendan Cully <brendan@kublai.com>
parents:
13804
diff
changeset
|
134 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
12279 | 135 |
13803
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
136 Make changes on new branch on tt |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
137 |
14485
610873cf064a
Make pull -u behave like pull && update
Brendan Cully <brendan@kublai.com>
parents:
13804
diff
changeset
|
138 $ hg up 6 |
610873cf064a
Make pull -u behave like pull && update
Brendan Cully <brendan@kublai.com>
parents:
13804
diff
changeset
|
139 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
13803
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
140 $ hg branch branchC |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
141 marked working directory as branch branchC |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
142 $ echo b1 > bar |
13804
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
143 $ hg ci -Am "commit on branchC on tt" |
13803
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
144 adding bar |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
145 |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
146 Make changes on default branch on t |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
147 |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
148 $ cd ../t |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
149 $ hg up -C default |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
150 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
151 $ echo a1 > bar |
13804
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
152 $ hg ci -Am "commit on default on t" |
13803
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
153 adding bar |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
154 |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
155 Pull branchC from tt |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
156 |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
157 $ hg pull ../tt |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
158 pulling from ../tt |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
159 searching for changes |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
160 adding changesets |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
161 adding manifests |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
162 adding file changes |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
163 added 1 changesets with 1 changes to 1 files (+1 heads) |
e380964d53f8
pull: don't suggest running hg merge when new heads are on different branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
12279
diff
changeset
|
164 (run 'hg heads' to see heads) |
13804
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
165 |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
166 Make changes on default and branchC on tt |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
167 |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
168 $ cd ../tt |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
169 $ hg pull ../t |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
170 pulling from ../t |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
171 searching for changes |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
172 adding changesets |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
173 adding manifests |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
174 adding file changes |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
175 added 1 changesets with 1 changes to 1 files (+1 heads) |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
176 (run 'hg heads' to see heads) |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
177 $ hg up -C default |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
178 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
179 $ echo a1 > bar1 |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
180 $ hg ci -Am "commit on default on tt" |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
181 adding bar1 |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
182 $ hg up branchC |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
183 2 files updated, 0 files merged, 1 files removed, 0 files unresolved |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
184 $ echo a1 > bar2 |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
185 $ hg ci -Am "commit on branchC on tt" |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
186 adding bar2 |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
187 |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
188 Make changes on default and branchC on t |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
189 |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
190 $ cd ../t |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
191 $ hg up default |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
192 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
193 $ echo a1 > bar3 |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
194 $ hg ci -Am "commit on default on t" |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
195 adding bar3 |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
196 $ hg up branchC |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
197 2 files updated, 0 files merged, 1 files removed, 0 files unresolved |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
198 $ echo a1 > bar4 |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
199 $ hg ci -Am "commit on branchC on tt" |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
200 adding bar4 |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
201 |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
202 Pull from tt |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
203 |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
204 $ hg pull ../tt |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
205 pulling from ../tt |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
206 searching for changes |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
207 adding changesets |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
208 adding manifests |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
209 adding file changes |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
210 added 2 changesets with 2 changes to 2 files (+2 heads) |
7dc2bd4c0dc8
pull: new output message when there are multiple branches
Kevin Berridge <kevin.w.berridge@gmail.com>
parents:
13803
diff
changeset
|
211 (run 'hg heads .' to see heads, 'hg merge' to merge) |