要實現允許修改log這個功能,只需要在hooks目錄下增加一個名為:pre-revprop-change.bat的文件,重啟svn即可。
該文件內容為:
-----------------------------------------------------------
if "%4" == "svn:log" exit 0
echo Property '%4' cannot be changed >&2
exit 1
-----------------------------------------------------------
補充內容:SVN 常用命令
設置文件的mimetype:
$ svn propset svn:mime-type image/jpeg foo.jpg
property 'svn:mime-type' set on 'foo.jpg'
在UNIX系統,如果你希望一個文件設置執行權限:
$ svn propset svn:executable ON somescript
property 'svn:executable' set on 'somescript'
或許為了合作者的利益你有一個內部的屬性設置:
$ svn propset owner sally foo.c
property 'owner' set on 'foo.c'
如果你在特定修訂版本的日志信息里有一些錯誤,並且希望修改,可以使用--revprop設置svn:log為新的日志信息:
$ svn propset --revprop -r 25 svn:log "Journaled about trip to New York."
property 'svn:log' set on repository revision '25'
或者,你沒有工作拷貝,你可以提供一個URL。
$ svn propset --revprop -r 26 svn:log "Document nap." http://svn.red-bean.com/repos
property 'svn:log' set on repository revision '25'
最后,你可以告訴propset從一個文件得到輸入,你甚至可以使用這個方式來設置一個屬性為二進制內容:
$ svn propset owner-pic -F sally.jpg moo.c
property 'owner-pic' set on 'moo.c'
注意
缺省,你不可以在Subversion版本庫修訂版本屬性,你的版本庫管理員必須顯示的通過創建一個名字為pre-revprop-change的鈎子來允許修訂版本屬性。