sapling/mercurial
Angel Ezquerra 30a511a833 push: propagate --new-branch and --ssh options when pushing subrepos
Up until now the all the push command options were ignored when pushing
subrepos. In particular, the fact that the --new-branch command was not passed
down to subrepos made it not possible to push a repo when any of its
subrepos had a new branch, even if you used the --new-branch option of the push
command.

In addition the error message was confusing since it showed the following hint:
"--new-branch hint: use 'hg push --new-branch' to create new remote branches".
However using the --new_branch flag did not fix the problem, as it was ignored
when pushing subrepos.

This patch passes the --new-branch and --ssh flags to every subrepo that is
pushed.

Issues/Limitations:

- All subrepo types get these flags, but only the mercurial subrepos use them.
- It is no longer possible to _not_ pass down these flags to subrepos when
pushing:
   * An alternative would be to introduce a --subrepos flag that should be
used to pass down these flags to the subrepos.
   * If we did this, it could make sense to make the --force flag respect this
   new --subrepos flag as well for consistency's sake.
- Matt suggested that the ssh related flags could also be passed down to
subrepos during pull and clone. However it seems that it would be the "update"
command that would need to get those, since subrepos are only pulled on update.
In any case I'd prefer to leave that for a later patch.
2011-09-29 17:20:04 +02:00
..
help help: properly underline annotate config heading 2011-12-06 13:21:45 +01:00
hgweb annotate: support diff whitespace filtering flags (issue3030) 2011-11-18 12:04:31 +01:00
httpclient httpclient: update to 07d8c356f4d1 of py-nonblocking-http 2011-10-10 17:57:40 -05:00
pure mdiff: replace wscleanup() regexps with C loops 2011-11-18 14:23:03 +01:00
templates hgweb: fix dynamic date calculation not working under Safari 2011-10-27 11:57:08 -07:00
__init__.py Add back links from file revisions to changeset revisions 2005-05-03 13:16:10 -08:00
ancestor.py check-code: flag 0/1 used as constant Boolean expression 2011-06-01 12:38:46 +02:00
archival.py atomictempfile: make close() consistent with other file-like objects. 2011-08-25 20:21:04 -04:00
base85.c backout of e4cb9628354c 2011-01-27 11:15:08 +01:00
bdiff.c mdiff: replace wscleanup() regexps with C loops 2011-11-18 14:23:03 +01:00
bookmarks.py bookmarks: mark divergent bookmarks with book@pathalias when source in [paths] 2011-12-07 16:19:39 -06:00
bundlerepo.py bundlerepo: don't write branch cache to disk 2011-12-01 14:17:17 +01:00
byterange.py byterange: replace uses of hasattr with getattr 2011-07-25 15:09:17 -05:00
changegroup.py check-code: flag 0/1 used as constant Boolean expression 2011-06-01 12:38:46 +02:00
changelog.py changelog: handle decoding of NULs in extra more carefully (issue3156) 2011-12-16 18:23:15 -06:00
cmdutil.py merge with stable 2011-12-21 14:36:08 -06:00
commands.py push: propagate --new-branch and --ssh options when pushing subrepos 2011-09-29 17:20:04 +02:00
commandserver.py cmdserver: repo.invalidate() on every runcommand 2011-07-25 22:19:28 +03:00
config.py config.sortdict: override clear method 2011-06-20 10:51:37 +02:00
context.py phases: implement `phase() and hidden()` method for workingctx 2011-12-21 23:56:15 +01:00
copies.py check-code: flag 0/1 used as constant Boolean expression 2011-06-01 12:38:46 +02:00
dagparser.py cleanup: use x in (a, b) instead of x == a or x == b 2010-09-23 00:02:31 -05:00
dagutil.py dagutil: fix off-by-one in inverserevlogdag buildup 2011-08-25 17:20:00 +02:00
demandimport.py demandimport: determine at load time if __import__ has level argument 2011-08-22 22:50:52 +02:00
diffhelpers.c backout of e4cb9628354c 2011-01-27 11:15:08 +01:00
dirstate.py icasefs: avoid normcase()-ing in util.fspath() for efficiency 2011-12-16 21:09:40 +09:00
discovery.py merge with stable 2011-11-17 16:53:17 -06:00
dispatch.py dispatch: remove extra newline 2011-12-10 18:40:05 +01:00
encoding.py i18n: use encoding.lower/upper for encoding aware case folding 2011-12-16 21:09:41 +09:00
error.py wireproto: add out-of-band error class to allow remote repo to report errors 2011-08-02 15:21:10 -04:00
extensions.py extensions: print some debug info on import failure 2011-10-01 16:42:39 -04:00
fancyopts.py globally: use safehasattr(x, '__call__') instead of hasattr(x, '__call__') 2011-07-25 16:24:37 -05:00
filelog.py filelog: add file function to open other filelogs 2011-05-10 17:38:58 +02:00
filemerge.py merge: give a special message for internal:merge failure (issue3105) 2011-11-16 18:04:19 -06:00
fileset.py fileset: fix typo in binary() doc 2011-07-04 14:36:16 +03:00
graphmod.py graphmod: correctly emit nodes with more than 2 predecessors 2011-05-01 15:51:46 +02:00
hbisect.py bisect: add i18n contexts 2011-10-18 09:38:14 -02:00
help.py windows: check util.mainfrozen() instead of ad-hoc checks everywhere 2011-07-25 16:14:02 -05:00
hg.py clone: don't save user's password in .hg/hgrc (Issue3122) 2011-11-22 12:06:42 -06:00
hook.py hook: flush stdout before redirecting to stderr 2011-11-16 08:34:36 +01:00
httpconnection.py auth: fix realm handling with Python < 2.4.3 (issue2739) 2011-10-17 13:42:42 -05:00
httprepo.py httprepo: make __del__ more stable in error situations 2011-10-13 04:27:49 +02:00
i18n.py i18n: use getattr instead of hasattr 2011-07-25 20:46:30 -05:00
ignore.py misc: adding missing file close() calls 2011-11-03 11:24:55 -05:00
keepalive.py keepalive: use safehasattr instead of hasattr 2011-07-25 20:36:59 -05:00
localrepo.py Add a phases.new-commit option to control minimal phase of new commit 2011-12-20 01:31:25 +01:00
lock.py lock: change name of release chain 2011-11-30 16:53:44 -06:00
lsprof.py lsprof: use getattr instead of hasattr 2011-07-25 15:41:46 -05:00
lsprofcalltree.py drop unused imports 2009-05-14 15:35:46 +02:00
mail.py mail: use quoted-printable for mime encoding to avoid too long lines (issue3075) 2011-11-23 02:44:11 +01:00
manifest.py util: don't mess with builtins to emulate buffer() 2011-12-15 15:27:11 -06:00
match.py match: remove unused assignment 2011-08-09 11:05:13 +02:00
mdiff.py util: don't mess with builtins to emulate buffer() 2011-12-15 15:27:11 -06:00
merge.py merge with stable 2011-12-16 19:05:59 -06:00
minirst.py minirst: use unicode string as intermediate form for replacement 2011-10-31 21:06:18 +09:00
mpatch.c parsers: avoid pointer aliasing 2011-08-10 13:40:01 -05:00
node.py Update license to GPLv2+ 2010-01-19 22:20:08 -06:00
osutil.c merge with stable 2011-09-14 14:37:10 -05:00
parser.py parsers: fix localization markup of parser errors 2011-06-21 00:17:52 +02:00
parsers.c parsers: avoid pointer aliasing 2011-08-10 13:40:01 -05:00
patch.py merge with stable 2011-11-30 17:15:39 -06:00
phases.py phases: update doc to mention secret phase 2011-12-20 01:34:12 +01:00
posix.py i18n: use encoding.lower/upper for encoding aware case folding 2011-12-16 21:09:41 +09:00
pushkey.py phases: add basic pushkey support 2011-12-15 11:24:26 +01:00
py3kcompat.py py3kcompat: added fake ord implementation for py3k 2010-08-07 16:38:38 -03:00
repair.py strip: backout 9aac86f54486 (issue3077) 2011-10-30 12:10:09 -05:00
repo.py Make sure bundlerepo doesn't leak temp files (issue2491) 2011-02-12 10:58:11 +01:00
revlog.py misc: adding missing file close() calls 2011-11-03 11:24:55 -05:00
revset.py merge with stable 2011-12-01 01:42:03 -06:00
scmutil.py merge with stable 2011-12-16 19:05:59 -06:00
setdiscovery.py add missing localization markup 2011-11-11 01:07:10 +01:00
similar.py fix coding style 2010-05-02 00:48:33 +02:00
simplemerge.py backout 17bc9a6bb165 (issue3077) (issue3071) 2011-10-29 11:02:23 -05:00
sshrepo.py sshrepo: add more safe characters (issue2983) 2011-12-09 15:50:33 +01:00
sshserver.py addchangegroup: remove the lock argument on the addchangegroup methods 2011-11-28 01:32:13 +01:00
sslutil.py sslutil: abort when ssl module is needed but not found 2011-09-27 18:51:10 +02:00
statichttprepo.py statichttprepo: replace hasattr with getattr 2011-07-25 15:47:43 -05:00
store.py atomictempfile: make close() consistent with other file-like objects. 2011-08-25 20:21:04 -04:00
strutil.py Update license to GPLv2+ 2010-01-19 22:20:08 -06:00
subrepo.py push: propagate --new-branch and --ssh options when pushing subrepos 2011-09-29 17:20:04 +02:00
tags.py atomictempfile: make close() consistent with other file-like objects. 2011-08-25 20:21:04 -04:00
templatefilters.py templates: add 'bisect' keyword to return a cset's bisect status 2011-09-22 01:36:01 +02:00
templatekw.py templates: add 'bisect' keyword to return a cset's bisect status 2011-09-22 01:36:01 +02:00
templater.py globally: use safehasattr(x, '__iter__') instead of hasattr(x, '__iter__') 2011-07-25 15:30:19 -05:00
transaction.py transaction: use posixfile and unlink from util 2011-02-15 14:41:49 +01:00
treediscovery.py treediscovery: always return all remote heads 2011-06-20 14:11:01 +02:00
ui.py misc: adding missing file close() calls 2011-11-03 11:24:55 -05:00
url.py merge with stable 2011-09-10 17:56:42 -05:00
util.h backout of e4cb9628354c 2011-01-27 11:15:08 +01:00
util.py merge with stable 2011-12-16 19:05:59 -06:00
verify.py verify: fix mq misfire 2011-07-14 12:39:39 -05:00
win32.py win32: quietly ignore missing CreateHardLinkA for Wine 2011-09-13 17:01:07 -05:00
windows.py merge with stable 2011-12-16 19:05:59 -06:00
wireproto.py wireproto: handle other server output in pushkey 2011-12-12 15:16:58 +01:00