diff -r 78e8890cfb4b -r 9263f86b9681 mercurial/commands.py --- a/mercurial/commands.py Mon Jun 01 14:42:55 2015 -0400 +++ b/mercurial/commands.py Wed Jun 03 14:29:11 2015 -0700 @@ -5112,7 +5112,13 @@ if revs: try: - revs = [other.lookup(rev) for rev in revs] + oldrevs = revs + revs = [] # actually, nodes + for r in oldrevs: + node = other.lookup(r) + revs.append(node) + if r == checkout: + checkout = node except error.CapabilityError: err = _("other repository doesn't support revision lookup, " "so a rev cannot be specified.") @@ -5122,7 +5128,7 @@ force=opts.get('force'), bookmarks=opts.get('bookmark', ())).cgresult if checkout: - checkout = str(repo.changelog.rev(other.lookup(checkout))) + checkout = str(repo.changelog.rev(checkout)) repo._subtoppath = source try: ret = postincoming(ui, repo, modheads, opts.get('update'), checkout)