--- a/mercurial/hg.py Wed Mar 23 16:02:11 2011 +0100
+++ b/mercurial/hg.py Wed Mar 23 16:06:55 2011 +0100
@@ -436,14 +436,19 @@
if revs:
revs = [other.lookup(rev) for rev in revs]
- other, incoming, bundle = bundlerepo.getremotechanges(ui, repo, other, revs,
- opts["bundle"], opts["force"])
- if incoming is None:
+ usecommon = other.capable('getbundle')
+ other, common, incoming, bundle = bundlerepo.getremotechanges(ui, repo, other,
+ revs, opts["bundle"], opts["force"],
+ usecommon=usecommon)
+ if not incoming:
ui.status(_("no changes found\n"))
return subreporecurse()
try:
- chlist = other.changelog.nodesbetween(incoming, revs)[0]
+ if usecommon:
+ chlist = other.changelog.findmissing(common, revs)
+ else:
+ chlist = other.changelog.nodesbetween(incoming, revs)[0]
displayer = cmdutil.show_changeset(ui, other, opts, buffered)
# XXX once graphlog extension makes it into core,