mercurial/commands.py
changeset 46931 d4e4ccb75f99
parent 46930 0afe96e374a7
child 46932 dec31caf5fd6
equal deleted inserted replaced
46930:0afe96e374a7 46931:d4e4ccb75f99
  4921         ),
  4921         ),
  4922     ]
  4922     ]
  4923     + logopts
  4923     + logopts
  4924     + remoteopts
  4924     + remoteopts
  4925     + subrepoopts,
  4925     + subrepoopts,
  4926     _(b'[-M] [-p] [-n] [-f] [-r REV]... [DEST]'),
  4926     _(b'[-M] [-p] [-n] [-f] [-r REV]... [DEST]...'),
  4927     helpcategory=command.CATEGORY_REMOTE_REPO_MANAGEMENT,
  4927     helpcategory=command.CATEGORY_REMOTE_REPO_MANAGEMENT,
  4928 )
  4928 )
  4929 def outgoing(ui, repo, dest=None, **opts):
  4929 def outgoing(ui, repo, *dests, **opts):
  4930     """show changesets not found in the destination
  4930     """show changesets not found in the destination
  4931 
  4931 
  4932     Show changesets not found in the specified destination repository
  4932     Show changesets not found in the specified destination repository
  4933     or the default push location. These are the changesets that would
  4933     or the default push location. These are the changesets that would
  4934     be pushed if a push was requested.
  4934     be pushed if a push was requested.
  4960       existing only in the remote repository are treated as
  4960       existing only in the remote repository are treated as
  4961       ``deleted``, even if it is in fact added remotely.
  4961       ``deleted``, even if it is in fact added remotely.
  4962 
  4962 
  4963     Returns 0 if there are outgoing changes, 1 otherwise.
  4963     Returns 0 if there are outgoing changes, 1 otherwise.
  4964     """
  4964     """
  4965     # hg._outgoing() needs to re-resolve the path in order to handle #branch
       
  4966     # style URLs, so don't overwrite dest.
       
  4967     path = ui.getpath(dest, default=(b'default-push', b'default'))
       
  4968     if not path:
       
  4969         raise error.ConfigError(
       
  4970             _(b'default repository not configured!'),
       
  4971             hint=_(b"see 'hg help config.paths'"),
       
  4972         )
       
  4973 
       
  4974     opts = pycompat.byteskwargs(opts)
  4965     opts = pycompat.byteskwargs(opts)
  4975     if opts.get(b'bookmarks'):
  4966     if opts.get(b'bookmarks'):
  4976         dest = path.pushloc or path.loc
  4967         for path in urlutil.get_push_paths(repo, ui, dests):
  4977         other = hg.peer(repo, opts, dest)
  4968             dest = path.pushloc or path.loc
  4978         try:
  4969             other = hg.peer(repo, opts, dest)
  4979             if b'bookmarks' not in other.listkeys(b'namespaces'):
  4970             try:
  4980                 ui.warn(_(b"remote doesn't support bookmarks\n"))
  4971                 if b'bookmarks' not in other.listkeys(b'namespaces'):
  4981                 return 0
  4972                     ui.warn(_(b"remote doesn't support bookmarks\n"))
  4982             ui.status(_(b'comparing with %s\n') % urlutil.hidepassword(dest))
  4973                     return 0
  4983             ui.pager(b'outgoing')
  4974                 ui.status(
  4984             return bookmarks.outgoing(ui, repo, other)
  4975                     _(b'comparing with %s\n') % urlutil.hidepassword(dest)
  4985         finally:
  4976                 )
  4986             other.close()
  4977                 ui.pager(b'outgoing')
  4987 
  4978                 return bookmarks.outgoing(ui, repo, other)
  4988     return hg.outgoing(ui, repo, dest, opts)
  4979             finally:
       
  4980                 other.close()
       
  4981 
       
  4982     return hg.outgoing(ui, repo, dests, opts)
  4989 
  4983 
  4990 
  4984 
  4991 @command(
  4985 @command(
  4992     b'parents',
  4986     b'parents',
  4993     [
  4987     [