SubVersionでコミットログのコメントを修正

TurtoiseSVNの「ログ編集」で可能だが、前提としてhook\フォルダに下記のpre-revprop-change.bat が必要(Windows版)。ここではログ部分の修正のみ可能な設定にしている。

if “%4″==”svn:log” (
if “%5″==”M” (
exit 0
)
)
exit 1

なお、コミットログのキャッシュをクリアしなければ、他人のおこなった修正結果を画面から見ることができない。TurtoiseSVNの設定でログの削除や更新はできるが、もっと便利な方法はないものか。post-revprop-changeでログクリアができれば良さそうだが、できるかどうか不明。

Subversion + Apatch セットアップ(Windows)

apache_2.2.11-win32-x86-no_ssl.msi
Setup-Subversion-1.6.1.msi
subversion側からの説明

1)Apatchインストール時
・Subversion関連の選択肢は出てこない

2)Subversionインストール時

・Apatch関連の選択肢は出てこない

3)httpd.confの編集

[source:html]
# コメントアウトされている行を有効にする
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
#追加する行
LoadModule dav_svn_module “C:/Program Files/Subversion/bin/mod_dav_svn.so”
LoadModule authz_svn_module “C:/Program Files/Subversion/bin/mod_authz_svn.so”

DAV svn
SVNParentPath “D:/repository”

[/source]

SVNPath:リポジトリを指定、追加するたびに設定変更しApacheを再起動
SVNParentPath:リポジトリを複数運用する場合に、リポジトリの親ディレクトリを指定

Visual StudioとSubVersionの共存

VB.NETなのでVisual Studioを利用
けれどもVSSが微妙なので、SubVersionを使うというとき、バージョン管理対象に何を含めるのか。
試行錯誤でこのあたりが適当か

・ソリューション下の*.sln
・各プロジェクト下の *.vb *.resx *.vbproj *.vbproj.user app.config
・各プロジェクト/My Projectの *.vb *.resx *.myapp Settings.settings

svnserverのインストール

すべてサーバー側で・・・

1.Subversionのインストール
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91?
CollabNet版?http://www.collab.net/downloads/subversion 

後者は、サービスのセットアップから SASLの設定まで一式やってくれる

2.リポジトリを置くフォルダを作成
 ルート直下が良い

3.サービスの設定
sc create svnserve binpath= “\”C:\Program Files\Subversion\bin\svnserve.exe\” –service –root c:\svn_repository” displayname= “Subversion” depend= tcpip start= auto

4.conf/svnserve.conf の編集
てっとり早いがセキュリティ甘い
[general]
anon-access = write
auth-access = write

5.ファイアウォールをあける
ポート 3690
プログラム svnserver

6.リポジトリの作成
 TortoiseSVNからも可能

7.サーバー側で試験
file:///c:\svn_repository

8.クライアント側からTortoiseSVNでリポジトリブラウザ
svn://PC名/\svn_repository