Mercurial > public > mercurial-scm > hg-stable
diff mercurial/hg.py @ 46930:0afe96e374a7
outgoing: pass subrepo path using function argument instead of abssource hack
This is clearer, remove the needs for the `repo._subtoppath` hack and will make
our live easier when making `outgoing` accept multiple destinations.
Differential Revision: https://phab.mercurial-scm.org/D10390
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 15 Apr 2021 09:23:28 +0200 |
parents | efc6f6a794bd |
children | d4e4ccb75f99 |
line wrap: on
line diff
--- a/mercurial/hg.py Thu Apr 15 09:23:19 2021 +0200 +++ b/mercurial/hg.py Thu Apr 15 09:23:28 2021 +0200 @@ -1320,7 +1320,7 @@ return _incoming(display, subreporecurse, ui, repo, source, opts) -def _outgoing(ui, repo, dest, opts): +def _outgoing(ui, repo, dest, opts, subpath=None): path = ui.getpath(dest, default=(b'default-push', b'default')) if not path: raise error.Abort( @@ -1328,6 +1328,15 @@ hint=_(b"see 'hg help config.paths'"), ) dest = path.pushloc or path.loc + if subpath is not None: + subpath = urlutil.url(subpath) + if subpath.isabs(): + dest = bytes(subpath) + else: + p = urlutil.url(dest) + p.path = os.path.normpath(b'%s/%s' % (p.path, subpath)) + dest = bytes(p) + branches = path.branch, opts.get(b'branch') or [] ui.status(_(b'comparing with %s\n') % urlutil.hidepassword(dest)) @@ -1382,10 +1391,10 @@ yield n -def outgoing(ui, repo, dest, opts): +def outgoing(ui, repo, dest, opts, subpath=None): if opts.get(b'graph'): logcmdutil.checkunsupportedgraphflags([], opts) - o, other = _outgoing(ui, repo, dest, opts) + o, other = _outgoing(ui, repo, dest, opts, subpath=subpath) ret = 1 try: if o: