mercurialが入ってない共有サーバにデプロイするのにmercurial使いたい。
バージョン管理システムって便利だね。最近手放せなくなりつつあります。 手放せなさから大学のサークルのサーバで公開する用のサービスを開発するのにもmercurial使ってたのですが、デプロイ先が古いCentOSで古いmercurialしか入らなくって・・・うわぁつらい。
聞けばmercurialはルート権限がなくてもインストールできるらしい。 自分のホームディレクトリにバイナリを入れてしまおう、と言うわけ。
$ wget http://mercurial.selenic.com/release/mercurial-3.2.3.tar.gz
$ tar zxvf mercurial-3.2.3.tar.gz
$ cd mercurial-3.2.3/
$ mkdir ~/mercurial
$ python setup.py install --home ~/mercurial
大体こんな感じで。
さあプッシュしよう。
$ hg push ssh://example.com//path/to/repository
ssh://example.com//path/to/repository への反映中
連携先: bash: hg: コマンドが見つかりません
中止: 指定リポジトリからの応答が不適切!
・・・おやおやぁ?
$ ssh example.com 'echo $PATH'
/usr/local/bin:/bin:/usr/bin
・・・おやおやおやぁ?
ヘルプ見てたら、remotecmdなんてオプションがあったので使ってみた。
$ hg push ssh://example.com//path/to/repository --remotecmd /home/hoge/mercurial/bin/hg
みたいな感じ。 これなら動く。
やったね。これでどんな環境でも動くぜ。mercurial使いまくりだぜ。