##// END OF EJS Templates
push: propagate --new-branch and --ssh options when pushing subrepos...
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.

File last commit:

r15533:10a4fab2 stable
r15708:309e4949 default
Show More
urls.txt
66 lines | 2.3 KiB | text/plain | TextLexer
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 Valid URLs are of the form::
local/filesystem/path[#revision]
Mads Kiilerich
help: Backed out changeset e99facd2cd2a, description of file urls...
r15533 file://local/filesystem/path[#revision]
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 http://[user[:pass]@]host[:port]/[path][#revision]
https://[user[:pass]@]host[:port]/[path][#revision]
Matt Mackall
help: ssh urls don't allow passwords
r13304 ssh://[user@]host[:port]/[path][#revision]
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999
Paths in the local filesystem can either point to Mercurial
Martin Geisler
Use hg role in help strings
r10973 repositories or to bundle files (as created by :hg:`bundle` or :hg:`
timeless
help: urls help should include see also for paths
r12959 incoming --bundle`). See also :hg:`help paths`.
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999
An optional identifier after # indicates a particular branch, tag, or
Martin Geisler
Use hg role in help strings
r10973 changeset to use from the remote repository. See also :hg:`help
revisions`.
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999
Some features, such as pushing to http:// and https:// URLs are only
possible if the feature is explicitly enabled on the remote Mercurial
server.
Mads Kiilerich
doc: clarify that https cert verification requires web.cacerts
r12593 Note that the security of HTTPS URLs depends on proper configuration of
web.cacerts.
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 Some notes about using SSH with Mercurial:
- SSH requires an accessible shell account on the destination machine
and a copy of hg in the remote path or specified with as remotecmd.
- path is relative to the remote user's home directory by default. Use
an extra slash at the start of a path to specify an absolute path::
ssh://example.com//tmp/repository
- Mercurial doesn't use its own compression via SSH; the right thing
to do is to configure it in your ~/.ssh/config, e.g.::
Host *.mylocalnetwork.example.com
Compression no
Host *
Compression yes
Brodie Rao
help: refer to user configuration file more consistently...
r12083 Alternatively specify "ssh -C" as your ssh command in your
configuration file or with the --ssh command line option.
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999
Brodie Rao
help: refer to user configuration file more consistently...
r12083 These URLs can all be stored in your configuration file with path
aliases under the [paths] section like so::
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999
[paths]
alias1 = URL1
alias2 = URL2
...
You can then use the alias for any command that uses a URL (for
Martin Geisler
Use hg role in help strings
r10973 example :hg:`pull alias1` will be treated as :hg:`pull URL1`).
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999
Two path aliases are special because they are used as defaults when
you do not provide the URL to a command:
default:
When you create a repository with hg clone, the clone command saves
the location of the source repository as the new repository's
'default' path. This is then used when you omit path from push- and
pull-like commands (including incoming and outgoing).
default-push:
The push command will look for a path named 'default-push', and
prefer it over 'default' if both are defined.