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を編集し、中身を上記のようにする。

 

結構どうでもいい設定で、小一時間程かかってしまったので

備忘録として残しておきます。ε=( ̄。 ̄;)

 

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です