Mercurial
$ sudo yum install mercurial $ sudo useradd hguser $ sudo su - hguser hguser$ chmod 755 ~/ # Redmine からリポジトリにアクセスするために必要 hguser$ mkdir ~/hgrepo hguser$ hg init ~/hgrepo/testrepo hguser$ mkdir ~/.ssh hguser$ chmod 700 ~/.ssh hguser$ vim ~/.ssh/authorized_keys こんな感じに key を追加してやる。 command="cd ~/hgrepo && hg-ssh testrepo subdir/repo2",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-rsa … hguser$ chmod 600 ~/.ssh/authorized_keys hguser$ exit # ここから下は不要かも。追記参照 $ wget http://www.selenic.com/repo/hg-stable/raw-file/tip/contrib/hg-ssh $ chmod +x hg-ssh $ which hg /usr/bin/hg $ sudo mv hg-ssh /usr/bin
$ hg -v | grep Mercurial Mercurial Distributed SCM (version 1.4)
古すぎる。hg-ssh が上手く動かない。パッチ(自作)を当てて改善。
アクセスするためにはこうすればいいのかな: hg command ssh://hguser@example.com:12345/~/hgrepo
共有ディレクトリ作成
$ sudo mkdir /home/share $ sudo chown nobody:nobody /home/share $ sudo chmod 777 /home/share
ここに、共有したいさまざまなファイルを書き込むようにする。
2013-04-24 追記
Fujiwara さん から「Mercurial のバージョンに合った hg-ssh を使うべき」とのご指摘をいただいた。具体的には wget 時に tip からではなくバージョンに合ったリポジトリから hg-ssh を持ってくる。バージョン 1.4 のときはこちら: http://www.selenic.com/repo/hg-stable/raw-file/1.4/contrib/hg-ssh
また、$ rpm -ql mercurial | grep hg-ssh
としてみたら /usr/bin/hg-ssh
と表示されたので、どうやら yum install 時に既に hg-ssh はインストールされているみたいだ。上の手順だと、一度インストールされた hg-ssh をわざわざ最新版に書き換えてしまっている(そしてそれが原因で問題が発生している)ように見える。このへんは再インストールする機会があったらもう一度検証したい。