# HG changeset patch
# User Felipe Resende <felipe@fcresende.dev.br>
# Date 1711918666 10800
#      Sun Mar 31 17:57:46 2024 -0300
# Branch stable
# Node ID 3e0f86f09f26b3f474b1b34e90ac657869d3ef51
# Parent  13c004b54cbe296b2fa236281e7769dc28554f3b
subrepo: propagate non-default path on outgoing

There was already a fix made in 5dbff89cf107 for pull and push commands. I did
the same for the outgoing command.

The problem I identified is that when the parent repository has multiple paths,
the outgoing command was not respecting the parent path used and was always
using the default path for subrepositories.

diff --git a/mercurial/hg.py b/mercurial/hg.py
--- a/mercurial/hg.py
+++ b/mercurial/hg.py
@@ -1425,6 +1425,7 @@
     others = []
     for path in urlutil.get_push_paths(repo, ui, dests):
         dest = path.loc
+        repo._subtoppath = dest
         if subpath is not None:
             subpath = urlutil.url(subpath)
             if subpath.isabs():
@@ -1528,6 +1529,7 @@
     finally:
         for oth in others:
             oth.close()
+        del repo._subtoppath
 
 
 def verify(repo, level=None):