--- a/mercurial/commands.py Sat Sep 09 18:25:06 2006 -0700
+++ b/mercurial/commands.py Sat Sep 09 18:25:07 2006 -0700
@@ -2105,10 +2105,12 @@
other = hg.repository(ui, source)
ui.status(_('pulling from %s\n') % (source))
revs = None
- if opts['rev'] and not other.local():
- raise util.Abort(_("pull -r doesn't work for remote repositories yet"))
- elif opts['rev']:
- revs = [other.lookup(rev) for rev in opts['rev']]
+ if opts['rev']:
+ if 'lookup' in other.capabilities:
+ revs = [other.lookup(rev) for rev in opts['rev']]
+ else:
+ error = _("Other repository doesn't support revision lookup, so a rev cannot be specified.")
+ raise util.Abort(error)
modheads = repo.pull(other, heads=revs, force=opts['force'])
return postincoming(ui, repo, modheads, opts['update'])