Subversion の導入
Subversion メモ
http://www-aos.eps.s.u-tokyo.ac.jp/~takagi/SubversionMemo.html
Subversion によるバージョン管理 3. 同伴ツアー
http://subversion.bluegate.org/doc/ch03.html
~/.subversion/config に書いてある editor-cmd のコメントアウトを外して Emacs を使えるようにする。
editor-cmd = emacs
バージョン情報を保存するための「リポジトリ」を作る。バージョンを管理したいプロジェクトごとにひとつづつ。ここでは、/home/name/repos 以下にプロジェクトのディレクトリ project_repos を作成する。
$ svnadmin create /home/name/repos/project_repos
実際にバージョン管理したいファイル群が入っている project ディレクトリ内には trunk, branches, tags の三つのディレクトリを作って、ファイル群はすべてこの trunk ディレクトリに放り込む。それからリポジトリへ最初のバージョンをインポートする。
$ cd project $ mkdir trunk $ mv * trunk $ mkdir branches tags $ svn import project file:///home/name/repos/project_repos
ここまでで初期設定が終了。実際の作業をするために「作業コピー」をリポジトリから check out して作る。
$ svn checkout file:///home/name/repos/project_repos/trunk
いじる。作業コピーの状態を見る。
$ svn status $ svn diff
いじる。ファイルの追加・削除・コピー・移動・ディレクトリ作成はすべて Subversion を介して行う。
$ svn add foo $ svn delete foo $ svn copy foo bar $ svn mkdir doc $ svn move foo bar
変更したファイル群を新たな「リビジョン」として作業コピーを「コミット」する。
$ svn commit
この後はいじってコミットを繰り返すだけ。必要に応じて過去のリビジョンに戻れる。過去のリビジョンを見る。
$ svn log file:///home/name/repos/project_repos
作業コピーのファイルを最新のリビジョンのものへと戻す。
$ svn revert report.txt
特定のファイルだけ以前のリビジョンに戻す。
$ svn merge -r 4:3 report.txt U report.txt
過去のリビジョンに戻す。リビジョン番号は増える。
$ svn merge -r 4:3 file:///home/name/repos/project_repos/trunk
あるリビジョンに対してバージョン 0.91 とか名前を付けたい場合はタグをつける。タグはある時点でのプロジェクトの「スナップショット」らしい。まだ使ってないから具体的なコマンドはなし。
参考リンク。
Subversion 入門
http://www.satoshiabe.jp/subversion.html
Subversion によるバージョン管理
http://subversion.bluegate.org/doc/index.html
TortoiseSVN ユーザガイド
http://tortoisesvn.bluegate.org/Help/dailyuseguide.html