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使いまくりだぜ。