VisualSVNServerで構築したSVNにて、ログ編集を解禁する方法
最近、SVNサーバーを立てて開発を行う必要があり、
VisualSVN Serverというツールを利用して構築してみたはいものの、
ログの編集ができない!?という指摘を頂き、あれこれ調べてみました。
「SVN ログ編集 できない」等で検索すると、例は色々と出て来ます。
リポジトリ配下のhooksフォルダ内に、
pre-revprop-change.batというファイルを作成しろというもので、
中身はこんな感じ。
if "%5"=="M" ( if "%4"=="svn:log" ( exit 0 ) ) echo "Changing revision properties other than svn:log is prohibited" >&2 exit 1
これだとなぜかそれだと上手くいかず、、、
VisualSVN Serverで構築していると何か違うのかしら?? と四苦八苦してました。
そして見つけたのがコレ!!
set userName=%3 set propertyName=%4 set action=%5 :: Only allow the log message to be changed, but not author, etc. if /I not "%propertyName%" == "svn:log" goto ERROR_PROPNAME :: Only allow modification of a log message, not addition or deletion. if /I not "%action%" == "M" goto ERROR_ACTION :: Make sure that the new svn:log message is not empty. set bIsEmpty=true for /f "tokens=*" %%g in ('find /V ""') do ( set bIsEmpty=false ) if "%bIsEmpty%" == "true" goto ERROR_EMPTY goto :eof :ERROR_EMPTY echo Empty svn:log messages are not allowed. >&2 goto ERROR_EXIT :ERROR_PROPNAME echo Only changes to svn:log messages are allowed. >&2 goto ERROR_EXIT :ERROR_ACTION echo Only modifications to svn:log revision properties are allowed. >&2 goto ERROR_EXIT :ERROR_EXIT exit /b 1
pre-revprop-change.batの中身を上記のように編集してみたら、いけた。
一応手順を整理しておこう。
1. VisualSVN Serverのリポジトリの配下にフォルダ内に、
pre-revprop-change.batというファイルを作成する。
VisualSVN Serverのリポジトリは、Default設定のままだと「C:\Repositories\」だと思う。
(VisualSVN Server起動して、ルートのVisualSVN Serverの右クリメニューから
Properties > Storegeで確認できる)
2.pre-revprop-change.batを編集し、中身を上記のようにする。
結構どうでもいい設定で、小一時間程かかってしまったので
備忘録として残しておきます。ε=( ̄。 ̄;)