Mercurial > hg-stable
changeset 13021:6c800e7ef2f6 stable
rebase: support --detach when null is common ancestor
author | Henrik Stuart <hg@hstuart.dk> |
---|---|
date | Sat, 20 Nov 2010 09:51:56 +0100 |
parents | ea3bada953d3 |
children | da69a1597285 99210fb3bc0a |
files | hgext/rebase.py tests/test-rebase-detach.t |
diffstat | 2 files changed, 42 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/rebase.py Thu Nov 18 19:52:58 2010 -0200 +++ b/hgext/rebase.py Sat Nov 20 09:51:56 2010 +0100 @@ -485,7 +485,7 @@ srcancestors = set(repo.changelog.ancestors(source)) baseancestors = set(repo.changelog.ancestors(commonbase.rev())) detachset = srcancestors - baseancestors - detachset.remove(commonbase.rev()) + detachset.discard(commonbase.rev()) else: if base: cwd = repo[base].rev()
--- a/tests/test-rebase-detach.t Thu Nov 18 19:52:58 2010 -0200 +++ b/tests/test-rebase-detach.t Sat Nov 20 09:51:56 2010 +0100 @@ -191,3 +191,44 @@ $ cd .. +Rebasing across null as ancestor + $ hg clone -q -U a a5 + + $ cd a5 + + $ echo x > x + + $ hg add x + + $ hg ci -m "extra branch" + created new head + + $ hg tglog + @ 5: 'extra branch' + + o 4: 'E' + | + | o 3: 'D' + | | + | o 2: 'C' + | | + | o 1: 'B' + |/ + o 0: 'A' + + $ hg rebase --detach -s 1 -d tip + saved backup bundle to $TESTTMP/a5/.hg/strip-backup/*-backup.hg (glob) + + $ hg tglog + @ 5: 'D' + | + o 4: 'C' + | + o 3: 'B' + | + o 2: 'extra branch' + + o 1: 'E' + | + o 0: 'A' +