--- a/mercurial/commands.py Sat Aug 23 17:03:08 2014 -0500
+++ b/mercurial/commands.py Wed Aug 27 15:30:09 2014 +0200
@@ -3183,14 +3183,23 @@
ctx = repo[rev]
n = ctx.extra().get('source')
if n in ids:
- r = repo[n].rev()
+ try:
+ r = repo[n].rev()
+ except error.RepoLookupError:
+ r = None
if r in revs:
ui.warn(_('skipping revision %s (already grafted to %s)\n')
% (r, rev))
revs.remove(r)
elif ids[n] in revs:
- ui.warn(_('skipping already grafted revision %s '
- '(%s also has origin %d)\n') % (ids[n], rev, r))
+ if r is None:
+ ui.warn(_('skipping already grafted revision %s '
+ '(%s also has unknown origin %s)\n')
+ % (ids[n], rev, n))
+ else:
+ ui.warn(_('skipping already grafted revision %s '
+ '(%s also has origin %d)\n')
+ % (ids[n], rev, r))
revs.remove(ids[n])
elif ctx.hex() in ids:
r = ids[ctx.hex()]