mercurial/commands.py
branchstable
changeset 22302 9472284df4eb
parent 22176 328efb5ca0b4
child 22305 bdc0e04df243
child 22314 6a8b8efb0641
--- 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()]