monotone で rails project を管理する手順。元ネタは Google キャッシュから拾ってきた。 環境は
monotone の db 作成
#作成済みであれば省略可能。
まず、データベースを作成する。
$ mtn db init -d ~/var/rails.mtn
そして、使用するキーを作成する。
$ mtn genkey hoge@example.com
パスワード入力を省略したり、ssh-agent に登録したりするところは省略。
rails project 用フォルダを作成する
ここでは ~/work/rails 以下に test という rails project を作成する。 monotone データベースは先ほど作成した ~/var/rails.mtn、 ブランチを com.example.rails.test.trunk として、monotone による管理を開始する。
$ cd ~/work/rails rails$ mtn -d ~/var/rails.mtn -b com.example.rails.test.trunk setup test
rails project を作成する
rails コマンドを使用して、rails project を作成する。
rails$ rails test test$ cd test
対象外ファイルの指定
monotone 管理の対象から外すファイルは、.mtn-ignore に記述する。正規表現が使用可能。
test$ vi .mtn-ignore ^log/.*\.log$ ^config/database\.yml$
config/database.yml は他の環境に移したときに変更が必要になることから、 管理対象から外して各環境で設定することに。 データベースが共通サーバにあり記述をわける必要が無い、 データベースが sqlite である、 開発も運用も一人かつ一箇所で行う、などの条件であれば、わざわざ除外する必要はなし。
除外した場合は、元となるファイルを別名で置く。
test$ cp config/database.yml config/database.yml.dist
rails project の各ファイルを登録する
rails コマンドで生成されたファイルを、monotone 管理下に置く。
test$ mtn add -R . test$ mtn ci -m "Initial project imported."
完了
script/generate -c (または --svn) で生成したファイルを自動的に subversion 管理とするような機能もあるが、 monotone ではその恩恵にはあずかれない。
また、Capistrano にも非対応である。