Subversionのブランチとタグ
Subversionのブランチとタグは、なんか単純なコピーのような感覚だ。
ブランチを作成するには、リポジトリ内のbranchesにtrunkの内容をコピーする。ブランチtest1を作成するには、
$ svn copy REPOSITORY/trunk REPOSITORY/branches/test1
この後ブランチtest1を取り出して開発を行う。ブランチtest1をtest1ディレクトリ以下に展開するには、
$ svn checkout REPOSITORY/branches/test1 test1
ブランチtest1を編集後にcommitする。
$ ruby script/generate scaffold blog title:string description:text $ svn commit -m 'scaffold Blog Model'
よし、trunkにmergeしよう!今度はtrunkをcheckoutする。
$ svn checkout REPOSITORY/trunk project $ cd project $ svn log --verbose
これでリビジョンを確認後、mergeコマンドを実行。
$ svn merge -r 7:11 REPOSITORY/branches/test1
ここでどのリビジョンからどのリビジョンまでか?を指定するのだが、確認方法が分からなくなってしまった。以下のコマンドをtrunkをcheckoutした方でやればよかったと思うが・・
$ svn log --verbose --stop-on-copy
もしくはsvn updateしてみるとか。
タグの作成も同様に、
$ svn copy REPOSITORY/trunk REPOSITORY/tags/release1
タグrelease1をrelease1ディレクトリ以下に展開するには、
$ svn checkout REPOSITORY/tags/release1 release1