##// END OF EJS Templates
rebase: fix bug where `--collapse` would apply diff on missing file...
Martin von Zweigbergk -
r44554:e733c59f default
parent child Browse files
Show More
@@ -1486,15 +1486,16 b' def rebasenode(repo, rev, p1, base, coll'
1486 1486 repo.ui.debug(b" merge against %d:%s\n" % (rev, ctx))
1487 1487 if base is not None:
1488 1488 repo.ui.debug(b" detach base %d:%s\n" % (base, repo[base]))
1489 # When collapsing in-place, the parent is the common ancestor, we
1490 # have to allow merging with it.
1489
1490 # See explanation in merge.graft()
1491 mergeancestor = repo.changelog.isancestor(p1ctx.node(), ctx.node())
1491 1492 stats = mergemod.update(
1492 1493 repo,
1493 1494 rev,
1494 1495 branchmerge=True,
1495 1496 force=True,
1496 1497 ancestor=base,
1497 mergeancestor=collapse,
1498 mergeancestor=mergeancestor,
1498 1499 labels=[b'dest', b'source'],
1499 1500 wc=wctx,
1500 1501 )
@@ -288,6 +288,18 b' Preserves external parent'
288 288
289 289 $ hg rebase -s F --dest I --collapse # root (F) is not a merge
290 290 rebasing 6:c82b08f646f1 "F" (F)
291 file 'E' was deleted in local [dest] but was modified in other [source].
292 You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved.
293 What do you want to do? u
294 unresolved conflicts (see hg resolve, then hg rebase --continue)
295 [1]
296
297 $ echo F > E
298 $ hg resolve -m
299 (no more unresolved files)
300 continue: hg rebase --continue
301 $ hg rebase -c
302 rebasing 6:c82b08f646f1 "F" (F)
291 303 rebasing 7:a6db7fa104e1 "G" (G)
292 304 rebasing 8:e1d201b72d91 "H" (H tip)
293 305 saved backup bundle to $TESTTMP/external-parent/.hg/strip-backup/c82b08f646f1-f2721fbf-rebase.hg
General Comments 0
You need to be logged in to leave comments. Login now