mercurial/hg.py
changeset 14073 72c84f24b420
parent 14064 e4bfb9c337f3
child 14076 924c82157d46
equal deleted inserted replaced
14072:2e4d79dcc0a0 14073:72c84f24b420
   424     ui.status(_('comparing with %s\n') % url.hidepassword(source))
   424     ui.status(_('comparing with %s\n') % url.hidepassword(source))
   425     revs, checkout = addbranchrevs(repo, other, branches, opts.get('rev'))
   425     revs, checkout = addbranchrevs(repo, other, branches, opts.get('rev'))
   426 
   426 
   427     if revs:
   427     if revs:
   428         revs = [other.lookup(rev) for rev in revs]
   428         revs = [other.lookup(rev) for rev in revs]
   429     usecommon = other.capable('getbundle')
   429     other, common, anyinc, bundle = bundlerepo.getremotechanges(ui, repo, other,
   430     other, common, incoming, bundle = bundlerepo.getremotechanges(ui, repo, other,
   430                                      revs, opts["bundle"], opts["force"])
   431                                        revs, opts["bundle"], opts["force"],
   431     if not anyinc:
   432                                        usecommon=usecommon)
       
   433     if not incoming:
       
   434         ui.status(_("no changes found\n"))
   432         ui.status(_("no changes found\n"))
   435         return subreporecurse()
   433         return subreporecurse()
   436 
   434 
   437     try:
   435     try:
   438         if usecommon:
   436         chlist = other.changelog.findmissing(common, revs)
   439             chlist = other.changelog.findmissing(common, revs)
       
   440         else:
       
   441             chlist = other.changelog.nodesbetween(incoming, revs)[0]
       
   442         displayer = cmdutil.show_changeset(ui, other, opts, buffered)
   437         displayer = cmdutil.show_changeset(ui, other, opts, buffered)
   443 
   438 
   444         # XXX once graphlog extension makes it into core,
   439         # XXX once graphlog extension makes it into core,
   445         # should be replaced by a if graph/else
   440         # should be replaced by a if graph/else
   446         displaychlist(other, chlist, displayer)
   441         displaychlist(other, chlist, displayer)
   486     revs, checkout = addbranchrevs(repo, repo, branches, opts.get('rev'))
   481     revs, checkout = addbranchrevs(repo, repo, branches, opts.get('rev'))
   487     if revs:
   482     if revs:
   488         revs = [repo.lookup(rev) for rev in revs]
   483         revs = [repo.lookup(rev) for rev in revs]
   489 
   484 
   490     other = repository(remoteui(repo, opts), dest)
   485     other = repository(remoteui(repo, opts), dest)
   491     o = discovery.findoutgoing(repo, other, force=opts.get('force'))
   486     inc = discovery.findcommonincoming(repo, other, force=opts.get('force'))
       
   487     common, _anyinc, _heads = inc
       
   488     o = repo.changelog.findmissing(common, revs)
   492     if not o:
   489     if not o:
   493         ui.status(_("no changes found\n"))
   490         ui.status(_("no changes found\n"))
   494         return None
   491         return None
   495 
   492     return o
   496     return repo.changelog.nodesbetween(o, revs)[0]
       
   497 
   493 
   498 def outgoing(ui, repo, dest, opts):
   494 def outgoing(ui, repo, dest, opts):
   499     def recurse():
   495     def recurse():
   500         ret = 1
   496         ret = 1
   501         if opts.get('subrepos'):
   497         if opts.get('subrepos'):