Require Message in SVN

Ive been looking for ways on how to make svn commits require a message just before they get committed. A problem is that some developers make a mistake by making empty commits making the reason of the commit unknown. I found this code via google and I wanted to share it.

This has been tested working in VisualSVN Server.

1. open your visual svn server

2. right click on a repository then click properties

3. on the hooks tab, edit the Pre-commit hook then paste the code:

@echo off
:: Stops commits that have empty log messages
@echo off
rem Subversion sends through the path to the repository and transaction id
set REPOS=%1
set TXN=%2
rem check for an empty log message
svnlook log %REPOS% -t %TXN% | findstr . > nul
if %errorlevel% gtr 0 (goto err) else exit 0
echo. 1>&2
echo Your commit has been blocked because you didnt give any log message 1>&2
echo Please write a log message describing the purpose of your changes and 1>&2
echo then try committing again. -- Thank you 1>&2
exit 1

4. click ok, then ok

If you happen to find a better script than this, please let me know.


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.