このページは SharedSSH の翻訳です。
MultipleCommitters に書かれているように、複数の開発者で開発する手法にはCVS的なやりかたがあります。これは中央リポジトリを用意し、各開発者が自分の変更をそこにpushし、他の開発者の変更をそのリポジトリから取り込むというやりかたです。このページは各々の開発者に完全なシェルアカウントを与えることなしに共有sshアカウントを使うことで中央のリポジトリにアクセスできるようにする方法が書かれています。
どのように動くのか
ssh経由でリモートのリポジトリにアクセスするとき、hgは基本的には
$ ssh hg.example.com hg -R /path/to/repos serve --stdio
というようなことをします(訳注:そのためあらかじめサーバ側にMercurialをインストールし、hgコマンドを使えるようにする必要があります)。認証およびトンネリングはsshに依存します。公開鍵による認証をする場合、sshはユーザが使うコマンドを1つに限定することができます。そのため必要な入力の健全性チェックをした後に上のようにsshからhgを呼びだすことができます。すべてのユーザが私有鍵とそれと対となる項目をauthorized_keyに持っているため、例えばアクセス制御のようにユーザ毎に異なるチェックをさせることができることに注意してください。
訳注:詳しくはsshdのmanのAUTHORIZE_KEYS FILE FORMATの章、特にcommandの項を見てください。
hg-ssh
pythonで書かれたスクリプトで、authorize_keysに直接アクセスを許可するリポジトリを書きます。使いかたはスクリプトの冒頭に書かれています。contrib/hg-ssh を見てください。
hg-login
以下はまだ翻訳されていません。ここにはPerlで書かれたhg-loginという スクリプトとその使い方、設定方法について書かれています。