目次

Mercurial

PHPやPerlやBashでイロイロとスクリプトを書く事が多く

何かでバージョン管理をしなきゃなーって思ってたけど、SubVersionとか面倒だったので

少し探したらMercurialってのがあったので試してみた

インストール

# yum install gcc python python-devel python-setuptools
# easy_install mercurial

CentOS5.7では上記手順でインストールができた

設定

1.作成してるスクリプトが保存されているフォルダで以下のコマンドを実行

# hg init

フォルダ内に.hgフォルダが作成されている(はずだ)

バージョン管理なんてやーめたって時には.hgフォルダを削除するだけ

2.不要なファイルがある場合は.hgignoreを設定する

書き方は・・・あとで(^^;

3.リポジトリに追加する準備をする

# hg add *

4.リポジトリに追加されるファイル(Aのマーク)をチェック

# hg st

statusって事ね

5.コミットしてみよう

# hg commit -m 'コメントを書ける。というか書くんだ!'

-mオプションを立ててないとエディタが起動するよ

Linuxの場合、コミットするユーザを明確に指定してやらないとエラーになるようだ

vi ~/.hgrc

[ui]
username = <ユーザ名>

6.ログを確認

# hg log

開発環境のリポジトリをクライアントにコピー

SSHを使ってダウンロードしてくるので、リポジトリにアクセス可能なユーザが必要になる

# hg clone ssh://ユーザ@開発サーバ/リポジトリディレクトリ ダウンロード先

開発サーバとリポジトリディレクトリの区切り文字が「:」ではなく「/」なので注意

例
リポジトリのデータをコピーしてくる
# hg clone ssh://root@example.ne.jp//opt/mkl/project/ /var/www/html

ローカルのデータをリポジトリにアップする
# hg clone /var/www/html ssh://root@example.ne.jp//opt/mkl/project/

更新してみよう

開発環境でファイルを更新したらコミットを再度しておこう

# hg add *
# hg commit -m 'コメント'

コピー先のサーバーのリポジトリフォルダ内で以下のコマンドを実行

# hg pull
# hg update

クライアント側のデータをリポジトリにPUSH

# hg push ssh://ユーザ@リモート//保存先path

リモートリポジトリ側で

# hg update
hg update リビジョン番号
 指定したリビジョンに戻す

hg update -C リビジョン番号
  現在の変更を破棄して強制的に指定したリビジョンに戻す  

もっと有効な使い方

まだ試してないので書けないのだが、バージョン管理してるので前のデータに戻したりする事も

簡単に出来るのだ!