Mercurial > hg
changeset 51611:436aee94f2d7 stable
Backed out changeset fc317bd5b637
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Mon, 06 May 2024 11:26:52 +0200 |
parents | 6c39edd1d348 |
children | c1b6b8b03e48 |
files | mercurial/hg.py |
diffstat | 1 files changed, 31 insertions(+), 44 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/hg.py Thu May 02 02:20:42 2024 +0200 +++ b/mercurial/hg.py Mon May 06 11:26:52 2024 +0200 @@ -1420,58 +1420,44 @@ ) -_no_subtoppath = object() - - def _outgoing(ui, repo, dests, opts, subpath=None): out = set() others = [] for path in urlutil.get_push_paths(repo, ui, dests): dest = path.loc - prev_subtopath = getattr(repo, "_subtoppath", _no_subtoppath) - try: - repo._subtoppath = dest - if subpath is not None: - subpath = urlutil.url(subpath) - if subpath.isabs(): - dest = bytes(subpath) + repo._subtoppath = dest + if subpath is not None: + subpath = urlutil.url(subpath) + if subpath.isabs(): + dest = bytes(subpath) + else: + p = urlutil.url(dest) + if p.islocal(): + normpath = os.path.normpath else: - p = urlutil.url(dest) - if p.islocal(): - normpath = os.path.normpath - else: - normpath = posixpath.normpath - p.path = normpath(b'%s/%s' % (p.path, subpath)) - dest = bytes(p) - branches = path.branch, opts.get(b'branch') or [] + normpath = posixpath.normpath + p.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)) - revs, checkout = addbranchrevs( - repo, repo, branches, opts.get(b'rev') + ui.status(_(b'comparing with %s\n') % urlutil.hidepassword(dest)) + revs, checkout = addbranchrevs(repo, repo, branches, opts.get(b'rev')) + if revs: + revs = [repo[rev].node() for rev in logcmdutil.revrange(repo, revs)] + + other = peer(repo, opts, dest) + try: + outgoing = discovery.findcommonoutgoing( + repo, other, revs, force=opts.get(b'force') ) - if revs: - revs = [ - repo[rev].node() for rev in logcmdutil.revrange(repo, revs) - ] - - other = peer(repo, opts, dest) - try: - outgoing = discovery.findcommonoutgoing( - repo, other, revs, force=opts.get(b'force') - ) - o = outgoing.missing - out.update(o) - if not o: - scmutil.nochangesfound(repo.ui, repo, outgoing.excluded) - others.append(other) - except: # re-raises - other.close() - raise - finally: - if prev_subtopath is _no_subtoppath: - del repo._subtoppath - else: - repo._subtoppath = prev_subtopath + o = outgoing.missing + out.update(o) + if not o: + scmutil.nochangesfound(repo.ui, repo, outgoing.excluded) + others.append(other) + except: # re-raises + other.close() + raise # make sure this is ordered by revision number outgoing_revs = list(out) cl = repo.changelog @@ -1543,6 +1529,7 @@ finally: for oth in others: oth.close() + del repo._subtoppath def verify(repo, level=None):