Show More
@@ -20,6 +20,9 b' from mercurial import bundlerepo, hg, me' | |||
|
20 | 20 | from mercurial import patch, revlog, scmutil, util, error, cmdutil |
|
21 | 21 | from mercurial import revset, templatekw |
|
22 | 22 | |
|
23 | class TransplantError(error.Abort): | |
|
24 | pass | |
|
25 | ||
|
23 | 26 | cmdtable = {} |
|
24 | 27 | command = cmdutil.command(cmdtable) |
|
25 | 28 | |
@@ -171,11 +174,17 b' class transplanter(object):' | |||
|
171 | 174 | del revmap[rev] |
|
172 | 175 | if patchfile or domerge: |
|
173 | 176 | try: |
|
177 | try: | |
|
174 | 178 | n = self.applyone(repo, node, |
|
175 | 179 | source.changelog.read(node), |
|
176 | 180 | patchfile, merge=domerge, |
|
177 | 181 | log=opts.get('log'), |
|
178 | 182 | filter=opts.get('filter')) |
|
183 | except TransplantError: | |
|
184 | # Do not rollback, it is up to the user to | |
|
185 | # fix the merge or cancel everything | |
|
186 | tr.close() | |
|
187 | raise | |
|
179 | 188 | if n and domerge: |
|
180 | 189 | self.ui.status(_('%s merged at %s\n') % (revstr, |
|
181 | 190 | short(n))) |
@@ -259,7 +268,7 b' class transplanter(object):' | |||
|
259 | 268 | p2 = node |
|
260 | 269 | self.log(user, date, message, p1, p2, merge=merge) |
|
261 | 270 | self.ui.write(str(inst) + '\n') |
|
262 |
raise |
|
|
271 | raise TransplantError(_('fix up the merge and run ' | |
|
263 | 272 | 'hg transplant --continue')) |
|
264 | 273 | else: |
|
265 | 274 | files = None |
@@ -212,7 +212,9 b' transplant --continue' | |||
|
212 | 212 | > baz |
|
213 | 213 | > EOF |
|
214 | 214 | $ echo toremove > toremove |
|
215 | $ echo baz > baz | |
|
215 | 216 | $ hg ci -Amfoo |
|
217 | adding baz | |
|
216 | 218 | adding foo |
|
217 | 219 | adding toremove |
|
218 | 220 | $ cat <<EOF > foo |
@@ -226,17 +228,22 b' transplant --continue' | |||
|
226 | 228 | adding added |
|
227 | 229 | removing toremove |
|
228 | 230 | $ echo bar > bar |
|
231 | $ cat > baz <<EOF | |
|
232 | > before baz | |
|
233 | > baz | |
|
234 | > after baz | |
|
235 | > EOF | |
|
229 | 236 | $ hg ci -Ambar |
|
230 | 237 | adding bar |
|
231 | 238 | $ echo bar2 >> bar |
|
232 | 239 | $ hg ci -mbar2 |
|
233 | 240 | $ hg up 0 |
|
234 |
|
|
|
241 | 3 files updated, 0 files merged, 2 files removed, 0 files unresolved | |
|
235 | 242 | $ echo foobar > foo |
|
236 | 243 | $ hg ci -mfoobar |
|
237 | 244 | created new head |
|
238 | 245 | $ hg transplant 1:3 |
|
239 |
applying |
|
|
246 | applying 46ae92138f3c | |
|
240 | 247 | patching file foo |
|
241 | 248 | Hunk #1 FAILED at 0 |
|
242 | 249 | 1 out of 1 hunks FAILED -- saving rejects to file foo.rej |
@@ -250,7 +257,7 b" transplant -c shouldn't use an old chang" | |||
|
250 | 257 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
251 | 258 | $ rm added |
|
252 | 259 | $ hg transplant 1 |
|
253 |
applying |
|
|
260 | applying 46ae92138f3c | |
|
254 | 261 | patching file foo |
|
255 | 262 | Hunk #1 FAILED at 0 |
|
256 | 263 | 1 out of 1 hunks FAILED -- saving rejects to file foo.rej |
@@ -258,17 +265,41 b" transplant -c shouldn't use an old chang" | |||
|
258 | 265 | abort: fix up the merge and run hg transplant --continue |
|
259 | 266 | [255] |
|
260 | 267 | $ hg transplant --continue |
|
261 |
|
|
|
268 | 46ae92138f3c transplanted as 9159dada197d | |
|
262 | 269 | $ hg transplant 1:3 |
|
263 |
skipping already applied revision 1: |
|
|
264 | applying 1739ac5f6139 | |
|
265 |
|
|
|
266 | applying 0282d5fbbe02 | |
|
267 | 0282d5fbbe02 transplanted to 77418277ccb3 | |
|
270 | skipping already applied revision 1:46ae92138f3c | |
|
271 | applying 9d6d6b5a8275 | |
|
272 | 9d6d6b5a8275 transplanted to 2d17a10c922f | |
|
273 | applying 1dab759070cf | |
|
274 | 1dab759070cf transplanted to e06a69927eb0 | |
|
268 | 275 | $ hg locate |
|
269 | 276 | added |
|
270 | 277 | bar |
|
278 | baz | |
|
271 | 279 | foo |
|
280 | ||
|
281 | test multiple revisions and --continue | |
|
282 | ||
|
283 | $ hg up -qC 0 | |
|
284 | $ echo bazbaz > baz | |
|
285 | $ hg ci -Am anotherbaz baz | |
|
286 | created new head | |
|
287 | $ hg transplant 1:3 | |
|
288 | applying 46ae92138f3c | |
|
289 | 46ae92138f3c transplanted to 1024233ea0ba | |
|
290 | applying 9d6d6b5a8275 | |
|
291 | patching file baz | |
|
292 | Hunk #1 FAILED at 0 | |
|
293 | 1 out of 1 hunks FAILED -- saving rejects to file baz.rej | |
|
294 | patch failed to apply | |
|
295 | abort: fix up the merge and run hg transplant --continue | |
|
296 | [255] | |
|
297 | $ echo fixed > baz | |
|
298 | $ hg transplant --continue | |
|
299 | 9d6d6b5a8275 transplanted as d80c49962290 | |
|
300 | applying 1dab759070cf | |
|
301 | 1dab759070cf transplanted to aa0ffe6bd5ae | |
|
302 | ||
|
272 | 303 | $ cd .. |
|
273 | 304 | |
|
274 | 305 | Issue1111: Test transplant --merge |
General Comments 0
You need to be logged in to leave comments.
Login now