--- a/hgext/rebase.py Sun Nov 21 05:07:06 2010 -0600
+++ b/hgext/rebase.py Sun Nov 21 13:16:59 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/mercurial/templater.py Sun Nov 21 05:07:06 2010 -0600
+++ b/mercurial/templater.py Sun Nov 21 13:16:59 2010 +0100
@@ -98,7 +98,7 @@
v = self._get(mapping, key)
if not hasattr(v, '__iter__'):
raise SyntaxError(_("error expanding '%s%%%s'")
- % (key, format))
+ % (key, parsed))
lm = mapping.copy()
for i in v:
if isinstance(i, dict):
--- a/tests/test-rebase-detach.t Sun Nov 21 05:07:06 2010 -0600
+++ b/tests/test-rebase-detach.t Sun Nov 21 13:16:59 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'
+