Subversion作業ログ
やっとの事新しい会社で開発用サーバを用意して貰えた。
せっかくなのでcvsじゃなくてsubversionを使うようにしてみた作業メモ。
ただのメモなので色んなことがバラバラに書いてある。
ついでにcvsも殆ど管理はしていなかった人間のメモなのでおかしいこともいっぱいありそう。
サーバ側でレポジトリ作成
%svnadmin create /home/repo/test
cvsの様にレポジトリのディレクトリを作成してそこにプロジェクトをインポートすると言うよりもプロジェクトごとにsvnadmin createでディレクトリを作っていく感じ?
svnserveプロトコルでのアカウント管理なんかがこのディレクトリごとに出来て便利。
あとやっぱりmoveが使えるのが激しく便利。
クライアントからsshで接続してプロジェクト(tools)をインポート
%svn import tools svn+ssh://192.168.0.1/home/repo/test -m "test tools"
サーバとクライアントが同一マシンの場合は"svn+ssh"を"file"に、svnserveプロトコルで接続する際には"svn"にするだけ。
http経由の時はapacheにmod_davを組み込んでWebDAV経由で宜しくやるらしいけどイントラだと必要無いか。
サーバ側svnserve設定(svn独自認証で、UNIXアカウントとsshを使う場合は不要)
svnユーザを登録。
RedHat(WthiteBox)なので
/etc/xinetd.d/svnserveを作成 /etc/serviceに 3690 svnserve/tcp,udpを追加 repo/*/conf/svnserve.confを各種設定し、 repo/*/conf/passwdにユーザ/パスワードを設定
logファイルや設定ファイルを更新対象から外す
logsディレクトリ内の*.logファイルをsvnから無視するように設定
%svn propset svn:ignore "*.log" ./logs property 'svn:ignore' set on 'log'
update時にfileに対してconflictが起きた時は
file.mine file.rOLDREV file.rNEWREV file
が出来て、.mineは自分のupdate前の作業中のもの
rOLDREVは自分がcommitする前のもの、rNEWREVは最新、で手でmergeしない限りはどれかをfileにコピーして
%svn resolved file
とすると勝手にファイルの掃除をして、解決してくれる