cvsにいい加減むかついていたのでsvnに移行することにした。
ここはそのsvnのコマンドのメモや、はまったところなどを記録しているメモページです。


インストール

環境:w2k

  1. Subversion1.3.2のバイナリをダウンロードしてきてコピーした。
  2. Subversion/binへパスを通した。
  3. 日本語メッセージが文字化けしたのでAPR_ICONV_PATHを環境変数にセット。APR_ICONV_PATHはSubversion/iconv。

cvsからの移行

cvsからの移行にはcvs2svnというツールを使うらしい。cvs2svn1.3.1を使ってみた(python2.4)。以下引っ掛かったところ。

リポジトリのレイアウトの仕方は適当っぽい・・・。プロジェクト毎にリポジトリを作ってもいいし、一つのリポジトリに複数のプロジェクトを登録してもいい。どういうのが適切なのかよくわからんが、プロジェクト名の下にtrunk,tags, branchesを作るというのは一応広まってる慣習のようだ。上の例はプロジェクトごとにリポジトリを作る。どっちがいいのかについては「プロジェクトの追加」に両方の利点と欠点が書いてある。レイアウトを決めるときは最初に注意深く計画してくださいみたいなことも書いてある。つうかそういう計画が行き当りばったりだからcvsやめてsvnにしようと思ってるのに・・・。どっちがいいんだろうなあ・・・。

ディレクトリ構成

svnではタグやプランチを管理するために、

projname
    trunk
    tags
    branches

のようなディレクトリ構成になっていて、開発はtrunkで行うらしい。チェックアウトするときはこれらのパスに従い、svn co file:///path/to/projname/trunk とかsvn co file:///path/to/projname/trunk projnameとかいうふうにこのディレクトリへのパスを指定する。枝分れしたブランチにタグを付けたりした場合も、projname/tagsに入れるのかな

とりあえず良く使うコマンド

バックアップなどリポジトリの管理

CVSROOTのような環境変数を自動で読んでくれる機能はない

URLとかパスを書くのがめんどくさい。
http://svn.haxx.se/users/archive-2005-07/0303.shtml によれば、環境変数にSVNROOTをセットしとけばいいじゃんってことらしい。 まあそうかな・・・。

.cvsignore?

cvs2svnだとなんかしらんが勝手に.cvsignoreを読んで設定してくれてるみたいだ。

svn propdel <属性名> [<パス>...] 
svn propedit svn:ignore .     エディタが立ち上がるので編集して保存する
svn propget svn:ignore <path> 属性の表示。
svn proplist -v src           -vで付加情報表示。srcディレクトリのproc表示。
svn propset svn:ignore . -F .cvsignore .cvsignoreを読み込み

これらで設定した属性情報はディレクトリの属性変更としてコミットすることになる。

リンク


|New|Edit|Freeze|Diff|History|Attach|Copy|Rename|
Last-modified: 2006-07-26 (Wed) 00:00:00
HTML convert time: 0.012 sec.