# HG changeset patch # User Ryan McElroy <rmcel...@fb.com> # Date 1519041052 28800 # Mon Feb 19 03:50:52 2018 -0800 # Node ID b1949aca17c6456ba1a7599e9ca121d269fb1ce6 # Parent 50ca5e43b0b816aeabcfd50b09dd9728c02dac86 push: do not over-check for svn/git push targets
Previously, if the user had an svn or git push target set up, we would bail from the normal push --to process even if the users were pushing to a different location. This is silly. Instead, let's only bail if the user is actually pushing to an svn or git destination repository. diff --git a/remotenames.py b/remotenames.py --- a/remotenames.py +++ b/remotenames.py @@ -1040,6 +1040,12 @@ def expushcmd(orig, ui, repo, dest=None, # hgsubversion and hggit do funky things on push. Just call direct. if path.startswith('svn+') or path.startswith('git+'): return orig(ui, repo, dest, opargs=opargs, **opts) + # Once we have found the path where we are pushing, do not continue + # checking for places we are not pushing. + break + if dest: + # If an explicit destination was checked, also stop checking here. + break if not opargs['to']: if ui.configbool('remotenames', 'forceto', False): diff --git a/tests/test-remotenames-pushto-pathandname.t b/tests/test-remotenames-pushto-pathandname.t --- a/tests/test-remotenames-pushto-pathandname.t +++ b/tests/test-remotenames-pushto-pathandname.t @@ -48,6 +48,7 @@ Set up an svn default push path and test $ hg push --to foo ../orig pushing rev 71b4c8f22183 to destination ../orig bookmark foo searching for changes - abort: no bookmark found to push + abort: not creating new remote bookmark + (use --create to create a new bookmark) [255] _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel