|
1 Valid URLs are of the form:: |
|
2 |
|
3 local/filesystem/path[#revision] |
|
4 file://local/filesystem/path[#revision] |
|
5 http://[user[:pass]@]host[:port]/[path][#revision] |
|
6 https://[user[:pass]@]host[:port]/[path][#revision] |
|
7 ssh://[user[:pass]@]host[:port]/[path][#revision] |
|
8 |
|
9 Paths in the local filesystem can either point to Mercurial |
|
10 repositories or to bundle files (as created by :hg:`bundle` or :hg:` |
|
11 incoming --bundle`). See also :hg:`help paths`. |
|
12 |
|
13 An optional identifier after # indicates a particular branch, tag, or |
|
14 changeset to use from the remote repository. See also :hg:`help |
|
15 revisions`. |
|
16 |
|
17 Some features, such as pushing to http:// and https:// URLs are only |
|
18 possible if the feature is explicitly enabled on the remote Mercurial |
|
19 server. |
|
20 |
|
21 Note that the security of HTTPS URLs depends on proper configuration of |
|
22 web.cacerts. |
|
23 |
|
24 Some notes about using SSH with Mercurial: |
|
25 |
|
26 - SSH requires an accessible shell account on the destination machine |
|
27 and a copy of hg in the remote path or specified with as remotecmd. |
|
28 - path is relative to the remote user's home directory by default. Use |
|
29 an extra slash at the start of a path to specify an absolute path:: |
|
30 |
|
31 ssh://example.com//tmp/repository |
|
32 |
|
33 - Mercurial doesn't use its own compression via SSH; the right thing |
|
34 to do is to configure it in your ~/.ssh/config, e.g.:: |
|
35 |
|
36 Host *.mylocalnetwork.example.com |
|
37 Compression no |
|
38 Host * |
|
39 Compression yes |
|
40 |
|
41 Alternatively specify "ssh -C" as your ssh command in your |
|
42 configuration file or with the --ssh command line option. |
|
43 |
|
44 These URLs can all be stored in your configuration file with path |
|
45 aliases under the [paths] section like so:: |
|
46 |
|
47 [paths] |
|
48 alias1 = URL1 |
|
49 alias2 = URL2 |
|
50 ... |
|
51 |
|
52 You can then use the alias for any command that uses a URL (for |
|
53 example :hg:`pull alias1` will be treated as :hg:`pull URL1`). |
|
54 |
|
55 Two path aliases are special because they are used as defaults when |
|
56 you do not provide the URL to a command: |
|
57 |
|
58 default: |
|
59 When you create a repository with hg clone, the clone command saves |
|
60 the location of the source repository as the new repository's |
|
61 'default' path. This is then used when you omit path from push- and |
|
62 pull-like commands (including incoming and outgoing). |
|
63 |
|
64 default-push: |
|
65 The push command will look for a path named 'default-push', and |
|
66 prefer it over 'default' if both are defined. |