subversionの知識が中途半端なのでsvnbook日本語訳のPDF版を作成してみましたをざっくりと1章〜3章まで読んでみた。
3章までで力つきたので、4章以降はまた後日。
勉強になったところのまとめ
リビジョンキーワード
- HEAD -> リポジトリ内の再審理ビジョン
- BASE -> 作業コピーのリビジョン
- COMMITTED -> 変更された最後のリビジョン
- PREV -> COMMITEDの一つ前のリビジョン
BASEとCOMMITTEDってリビジョン番号は違っても、中身は一緒だよね?あえて二つに分ける必要ってあるんだろうか?
リビジョン日付
- リビジョン番号の代わりに{"2008-03-28 15:00"}みたいに時間が指定できる。
- {"2008-03-28"}のように日付だけ指定すると、28日の0時以前を指定したことになるため28日のリビジョンは含まれないので注意。
check out
svn checkout http://hoge.net/repos/svn/trunk hoge
の様にすると、hogeディレクトリに作業コピーを作る。
hogeを付けないと、trunkディレクトリに作業コピーを作る
update
- R
- Replaced 同じ名前だけど別のファイル
- G
- merGed マージ。なんでMじゃないんだろう。
Conflictがおこったら、以下の三つのファイルが作成される
- filename.mine
- update前の作業コピー中のファイル
- filename.rOLDREV
- update前のBASEリビジョンにあったファイルの内容
- filename.rNEWREV
- HEADリビジョンの内容
svn resolved filenameで三つのファイルは消える。commitできるようになる。
diff
svn diff > patchfile
みたいにファイルにリダイレクトするとパッチが作れる
list
svn list http://hogehoge.net/repos/svn
でリポジトリのディレクトリ構成を表示
cleanup
Lが表示されたらsvn cleanupで解決