[TortoiseSVN] TortoiseSVN 修改Log紀錄

tortoisesvn change log message

當我們在用TortoiseSVN 的時,都會習慣紀錄一下每個版次的變化...

但是有的時候就是手殘...不小心打錯就送出了!!!結果造成訊息閱讀上的困擾!!

當我們嘗試要修改時,就會出現【檔案庫並未設定成可以接受修訂版性質更動;請要求管理員建立pre-revprop-change掛勾】

就不能改嚕....上網查了一下,(單機版)嘗試兩三種解法都沒用.........最後找到一個可以修正的方式。

  1. 先找到你的SVN所存放的檔案位置.....
  2. 找到檔案下的hook資料夾。
  3. 在資料夾中找到pre-revprop-change.tmpl 複製一份。
  4. 將複製的pre-revprop-change的副檔名改為.bat。
  5. 編輯pre-revprop-change.bat的內容,替換如下:
@ECHO OFF

set repos=%1
set rev=%2
set user=%3
set propname=%4
set action=%5

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Only allow changes to svn:log. The author, date and other revision
:: properties cannot be changed
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if /I not '%propname%'=='svn:log' goto ERROR_PROPNAME

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Only allow modifications to svn:log (no addition/overwrite or deletion)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if /I not '%action%'=='M' goto ERROR_ACTION

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Make sure that the new svn:log message contains some text.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
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 properties are not allowed. >&2
goto ERROR_EXIT

:ERROR_PROPNAME
echo Only changes to svn:log revision properties 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 

 

再回頭去編輯紀錄,就可以順利編輯了...

PS..每一個檔案庫如果要可以改紀錄,每一個檔案庫的hook資料夾都要放上這個(複製貼上就好了)..

紀錄一下避免以後找不到!!

目前使用版本 TortoiseSVN 1.8.11

參考來源:Stackoverflow

水滴可成涓流,涓流可成湖泊大海。
汲取累積知識,將知識堆積成常識;將常識探究成學識;將學識簡化為知識;授人自省。