annotate mercurial/help/hg-ssh.8.txt @ 38162:bdf344aea0ee

extensions: peek command table of disabled extensions without importing With chg where demandimport disabled, and if disk cache not warm, it took more than 5 seconds to get "unknown command" error when you typo a command name. This is horrible UX. The new implementation is less accurate than the original one as Python can do anything at import time and cmdtable may be imported from another module, but I think it's good enough. Note that the new implementation has to parse .py files, which is slightly slower than executing .pyc if demandimport is enabled.
author Yuya Nishihara <yuya@tcha.org>
date Thu, 03 May 2018 18:38:02 +0900
parents 4e934804cafe
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29090
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
1 ========
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
2 hg-ssh
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
3 ========
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
4
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
5 ----------------------------------------
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
6 restricted ssh login shell for Mercurial
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
7 ----------------------------------------
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
8
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
9 :Author: Thomas Arendsen Hein <thomas@intevation.de>
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
10 :Organization: Mercurial
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
11 :Manual section: 8
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
12 :Manual group: Mercurial Manual
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
13
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
14 .. contents::
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
15 :backlinks: top
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
16 :class: htmlonly
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
17 :depth: 1
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
18
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
19 Synopsis
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
20 """"""""
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
21 **hg-ssh** repositories...
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
22
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
23 Description
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
24 """""""""""
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
25 **hg-ssh** is a wrapper for ssh access to a limited set of mercurial repos.
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
26
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
27 To be used in ~/.ssh/authorized_keys with the "command" option, see sshd(8):
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
28 command="hg-ssh path/to/repo1 /path/to/repo2 ~/repo3 ~user/repo4" ssh-dss ...
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
29 (probably together with these other useful options:
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
30 no-port-forwarding,no-X11-forwarding,no-agent-forwarding)
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
31
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
32 This allows pull/push over ssh from/to the repositories given as arguments.
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
33
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
34 If all your repositories are subdirectories of a common directory, you can
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
35 allow shorter paths with:
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
36 command="cd path/to/my/repositories && hg-ssh repo1 subdir/repo2"
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
37
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
38 You can use pattern matching of your normal shell, e.g.:
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
39 command="cd repos && hg-ssh user/thomas/* projects/{mercurial,foo}"
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
40
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
41 You can also add a --read-only flag to allow read-only access to a key, e.g.:
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
42 command="hg-ssh --read-only repos/\*"
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
43
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
44 Bugs
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
45 """"
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
46 Probably lots, please post them to the mailing list (see Resources_
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
47 below) when you find them.
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
48
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
49 See Also
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
50 """"""""
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
51 |hg(1)|_
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
52
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
53 Author
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
54 """"""
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
55 Written by Matt Mackall <mpm@selenic.com>
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
56
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
57 Resources
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
58 """""""""
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
59 Main Web Site: https://mercurial-scm.org/
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
60
30244
4e934804cafe help: replace selenic.com by mercurial-scm.org in man pages
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29090
diff changeset
61 Source code repository: https://www.mercurial-scm.org/repo/hg
29090
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
62
30244
4e934804cafe help: replace selenic.com by mercurial-scm.org in man pages
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29090
diff changeset
63 Mailing list: https://www.mercurial-scm.org/mailman/listinfo/mercurial/
29090
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
64
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
65 Copying
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
66 """""""
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
67 Copyright (C) 2005-2016 Matt Mackall.
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
68 Free use of this software is granted under the terms of the GNU General
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
69 Public License version 2 or any later version.
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
70
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents:
diff changeset
71 .. include:: common.txt