##// END OF EJS Templates
revset: optimize "draft() & ::x" pattern...
revset: optimize "draft() & ::x" pattern The `draft() & ::x` type query could be common for selecting one or more draft feature branches being worked on. Before this patch, `::x` may travel through the changelog DAG for a long distance until it gets a smaller revision number than `min(draft())`. It could be very slow on long changelog with distant (in terms of revision numbers) drafts. This patch adds a fast path for this situation, and will stop traveling the changelog DAG once `::x` hits a non-draft revision. The fast path also works for `secret()` and `not public()`. To measure the performance difference, I used drawdag to create a repo that emulates distant drafts: DRAFT4 | DRAFT3 # draft / PUBLIC9999 # public | PUBLIC9998 | . DRAFT2 . | . DRAFT1 # draft | / PUBLIC0001 # public And measured the performance using the repo: (BEFORE) $ hg perfrevset 'draft() & ::(DRAFT2+DRAFT4)' ! wall 0.017132 comb 0.010000 user 0.010000 sys 0.000000 (best of 156) $ hg perfrevset 'draft() & ::(all())' ! wall 0.024221 comb 0.030000 user 0.030000 sys 0.000000 (best of 113) (AFTER) $ hg perfrevset 'draft() & ::(DRAFT2+DRAFT4)' ! wall 0.000243 comb 0.000000 user 0.000000 sys 0.000000 (best of 9303) $ hg perfrevset 'draft() & ::(all())' ! wall 0.004319 comb 0.000000 user 0.000000 sys 0.000000 (best of 655) Differential Revision: https://phab.mercurial-scm.org/D441

File last commit:

r19197:01d68fb0 stable
r34067:c6c8a52e 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
Mike Williams
help: stop documentation markup appearing in generated help...
r19197 repositories or to bundle files (as created by :hg:`bundle` or
:hg:`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.