434 ui.status(_('comparing with %s\n') % url.hidepassword(source)) |
434 ui.status(_('comparing with %s\n') % url.hidepassword(source)) |
435 revs, checkout = addbranchrevs(repo, other, branches, opts.get('rev')) |
435 revs, checkout = addbranchrevs(repo, other, branches, opts.get('rev')) |
436 |
436 |
437 if revs: |
437 if revs: |
438 revs = [other.lookup(rev) for rev in revs] |
438 revs = [other.lookup(rev) for rev in revs] |
439 other, incoming, bundle = bundlerepo.getremotechanges(ui, repo, other, revs, |
439 usecommon = other.capable('getbundle') |
440 opts["bundle"], opts["force"]) |
440 other, common, incoming, bundle = bundlerepo.getremotechanges(ui, repo, other, |
441 if incoming is None: |
441 revs, opts["bundle"], opts["force"], |
|
442 usecommon=usecommon) |
|
443 if not incoming: |
442 ui.status(_("no changes found\n")) |
444 ui.status(_("no changes found\n")) |
443 return subreporecurse() |
445 return subreporecurse() |
444 |
446 |
445 try: |
447 try: |
446 chlist = other.changelog.nodesbetween(incoming, revs)[0] |
448 if usecommon: |
|
449 chlist = other.changelog.findmissing(common, revs) |
|
450 else: |
|
451 chlist = other.changelog.nodesbetween(incoming, revs)[0] |
447 displayer = cmdutil.show_changeset(ui, other, opts, buffered) |
452 displayer = cmdutil.show_changeset(ui, other, opts, buffered) |
448 |
453 |
449 # XXX once graphlog extension makes it into core, |
454 # XXX once graphlog extension makes it into core, |
450 # should be replaced by a if graph/else |
455 # should be replaced by a if graph/else |
451 displaychlist(other, chlist, displayer) |
456 displaychlist(other, chlist, displayer) |