annotate mercurial/help/hg-ssh.8.txt @ 36809:3c15b84ab66c

hgweb: teach WSGI parser about query strings Currently, req.form uses cgi.parse() to populate form data. Depending on the request, form data can come from POST multipart/form-data, application/x-www-form-urlencoded, or the URL query string. Putting all these things into one data structure makes it difficult to reason about how exactly parameters got to the request. It can lead to wonkiness such as pulling parameters from both the URL and POST data. This commit teaches our WSGI request parser about argument data in query strings. We populate fields containing the query string data and only the query string data so it can't be confused with POST data. Differential Revision: https://phab.mercurial-scm.org/D2737
author Gregory Szorc <gregory.szorc@gmail.com>
date Thu, 08 Mar 2018 11:21:46 -0800
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