Mercurial > hg
view mercurial/help/hg-ssh.8.txt @ 35935:00b9e26d727b
sshpeer: establish SSH connection before class instantiation
We want to move the handshake to before peers are created so
we can instantiate a different peer class depending on the
results of the handshake. This necessitates moving the SSH
process invocation to outside the peer class.
As part of the code move, some variables were renamed for
clarity. util.popen4() returns stdin, stdout, and stderr in
their typical file descriptor order. However, stdin and stdout
were being mapped to "pipeo" and "pipei" respectively. "o"
for "stdin" and "i" for "stdout" is a bit confusing. Although
it does make sense for "output" and "input" from the perspective
of the client. But in the context of the new function, it makes
sense to refer to these as their file descriptor names.
In addition, the last use of self._path disappeared, so we stop
setting that attribute and we can delete the redundant URL
parsing necessary to set it.
Differential Revision: https://phab.mercurial-scm.org/D2031
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 05 Feb 2018 14:05:59 -0800 |
parents | 4e934804cafe |
children |
line wrap: on
line source
======== hg-ssh ======== ---------------------------------------- restricted ssh login shell for Mercurial ---------------------------------------- :Author: Thomas Arendsen Hein <thomas@intevation.de> :Organization: Mercurial :Manual section: 8 :Manual group: Mercurial Manual .. contents:: :backlinks: top :class: htmlonly :depth: 1 Synopsis """""""" **hg-ssh** repositories... Description """"""""""" **hg-ssh** is a wrapper for ssh access to a limited set of mercurial repos. To be used in ~/.ssh/authorized_keys with the "command" option, see sshd(8): command="hg-ssh path/to/repo1 /path/to/repo2 ~/repo3 ~user/repo4" ssh-dss ... (probably together with these other useful options: no-port-forwarding,no-X11-forwarding,no-agent-forwarding) This allows pull/push over ssh from/to the repositories given as arguments. If all your repositories are subdirectories of a common directory, you can allow shorter paths with: command="cd path/to/my/repositories && hg-ssh repo1 subdir/repo2" You can use pattern matching of your normal shell, e.g.: command="cd repos && hg-ssh user/thomas/* projects/{mercurial,foo}" You can also add a --read-only flag to allow read-only access to a key, e.g.: command="hg-ssh --read-only repos/\*" Bugs """" Probably lots, please post them to the mailing list (see Resources_ below) when you find them. See Also """""""" |hg(1)|_ Author """""" Written by Matt Mackall <mpm@selenic.com> Resources """"""""" Main Web Site: https://mercurial-scm.org/ Source code repository: https://www.mercurial-scm.org/repo/hg Mailing list: https://www.mercurial-scm.org/mailman/listinfo/mercurial/ Copying """"""" Copyright (C) 2005-2016 Matt Mackall. Free use of this software is granted under the terms of the GNU General Public License version 2 or any later version. .. include:: common.txt