mercurial/commands.py
changeset 21045 7f875ed19475
parent 21041 a2cc3c08c3ac
child 21047 f0003f989e72
equal deleted inserted replaced
21044:52a5eabf1f2f 21045:7f875ed19475
  5520                  (new, len(bheads)))
  5520                  (new, len(bheads)))
  5521 
  5521 
  5522     cmdutil.summaryhooks(ui, repo)
  5522     cmdutil.summaryhooks(ui, repo)
  5523 
  5523 
  5524     if opts.get('remote'):
  5524     if opts.get('remote'):
  5525         t = []
  5525         needsincoming, needsoutgoing = True, True
       
  5526     else:
       
  5527         needsincoming, needsoutgoing = False, False
       
  5528 
       
  5529     def getincoming():
  5526         source, branches = hg.parseurl(ui.expandpath('default'))
  5530         source, branches = hg.parseurl(ui.expandpath('default'))
  5527         sbranch = branches[0]
  5531         sbranch = branches[0]
  5528         other = hg.peer(repo, {}, source)
  5532         other = hg.peer(repo, {}, source)
  5529         revs, checkout = hg.addbranchrevs(repo, other, branches, None)
  5533         revs, checkout = hg.addbranchrevs(repo, other, branches, None)
  5530         if revs:
  5534         if revs:
  5531             revs = [other.lookup(rev) for rev in revs]
  5535             revs = [other.lookup(rev) for rev in revs]
  5532         ui.debug('comparing with %s\n' % util.hidepassword(source))
  5536         ui.debug('comparing with %s\n' % util.hidepassword(source))
  5533         repo.ui.pushbuffer()
  5537         repo.ui.pushbuffer()
  5534         commoninc = discovery.findcommonincoming(repo, other, heads=revs)
  5538         commoninc = discovery.findcommonincoming(repo, other, heads=revs)
  5535         _common, incoming, _rheads = commoninc
       
  5536         repo.ui.popbuffer()
  5539         repo.ui.popbuffer()
  5537         if incoming:
  5540         return source, sbranch, other, commoninc, commoninc[1]
  5538             t.append(_('1 or more incoming'))
  5541 
  5539 
  5542     if needsincoming:
       
  5543         source, sbranch, sother, commoninc, incoming = getincoming()
       
  5544     else:
       
  5545         source = sbranch = sother = commoninc = incoming = None
       
  5546 
       
  5547     def getoutgoing():
  5540         dest, branches = hg.parseurl(ui.expandpath('default-push', 'default'))
  5548         dest, branches = hg.parseurl(ui.expandpath('default-push', 'default'))
  5541         dbranch = branches[0]
  5549         dbranch = branches[0]
  5542         revs, checkout = hg.addbranchrevs(repo, repo, branches, None)
  5550         revs, checkout = hg.addbranchrevs(repo, repo, branches, None)
  5543         if source != dest:
  5551         if source != dest:
  5544             other = hg.peer(repo, {}, dest)
  5552             dother = hg.peer(repo, {}, dest)
  5545             ui.debug('comparing with %s\n' % util.hidepassword(dest))
  5553             ui.debug('comparing with %s\n' % util.hidepassword(dest))
       
  5554         else:
       
  5555             dother = sother
  5546         if (source != dest or (sbranch is not None and sbranch != dbranch)):
  5556         if (source != dest or (sbranch is not None and sbranch != dbranch)):
  5547             commoninc = None
  5557             common = None
       
  5558         else:
       
  5559             common = commoninc
  5548         if revs:
  5560         if revs:
  5549             revs = [repo.lookup(rev) for rev in revs]
  5561             revs = [repo.lookup(rev) for rev in revs]
  5550         repo.ui.pushbuffer()
  5562         repo.ui.pushbuffer()
  5551         outgoing = discovery.findcommonoutgoing(repo, other, onlyheads=revs,
  5563         outgoing = discovery.findcommonoutgoing(repo, dother, onlyheads=revs,
  5552                                                 commoninc=commoninc)
  5564                                                 commoninc=common)
  5553         repo.ui.popbuffer()
  5565         repo.ui.popbuffer()
       
  5566         return dest, dbranch, dother, outgoing
       
  5567 
       
  5568     if needsoutgoing:
       
  5569         dest, dbranch, dother, outgoing = getoutgoing()
       
  5570     else:
       
  5571         dest = dbranch = dother = outgoing = None
       
  5572 
       
  5573     if opts.get('remote'):
       
  5574         t = []
       
  5575         if incoming:
       
  5576             t.append(_('1 or more incoming'))
  5554         o = outgoing.missing
  5577         o = outgoing.missing
  5555         if o:
  5578         if o:
  5556             t.append(_('%d outgoing') % len(o))
  5579             t.append(_('%d outgoing') % len(o))
       
  5580         other = dother or sother
  5557         if 'bookmarks' in other.listkeys('namespaces'):
  5581         if 'bookmarks' in other.listkeys('namespaces'):
  5558             lmarks = repo.listkeys('bookmarks')
  5582             lmarks = repo.listkeys('bookmarks')
  5559             rmarks = other.listkeys('bookmarks')
  5583             rmarks = other.listkeys('bookmarks')
  5560             diff = set(rmarks) - set(lmarks)
  5584             diff = set(rmarks) - set(lmarks)
  5561             if len(diff) > 0:
  5585             if len(diff) > 0: