Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Windows Pre-commit hook for comment length Subversion

I seem to be getting nowhere with this. Either searching the web for a script, etc. Anyone got a script that you can just edit the out-of-box pre-commit.tmpl in a Windows environment that requires x chars to be entered in for a comment on commit in Tortoise Subversion globally so that all members on the team are required whereas this requirement is pushed down to the clients from SVN server?

I don't know the scripting language and this should be something pretty damn simple without me taking the time to figure out scripting for the next 3 hours.

like image 699
PositiveGuy Avatar asked May 15 '09 15:05

PositiveGuy


2 Answers

This is a .bat file to require there is a comment. It checks for the existence of at least one character in the comment.

 @echo off    :: Stops commits that have empty log messages.          @echo off     setlocal     rem Subversion sends through the path to the repository and transaction id    set REPOS=%1    set TXN=%2              svnlook log %REPOS% -t %TXN% | findstr . > nul    if %errorlevel% gtr 0 (goto err) else exit 0     :err    echo. 1>&2    echo Your commit has been blocked because you didn't enter a comment. 1>&2    echo Write a log message describing the changes made and try again. 1>&2  echo Thanks 1>&2  exit 1 

This file sits in the /hooks folder of the repository, named pre-commit.bat. If you need a minimum amount of characters, the line to modify is

svnlook log %REPOS% -t %TXN% | findstr . > nul 

So if you wanted a minimum of 10 characters, you need to have 10 .'s rather than just one

svnlook log %REPOS% -t %TXN% | findstr .......... > nul 

More advanced options for the findstr command will let you do fancier checks (certain character sets, ect)

like image 173
Corey Downie Avatar answered Sep 30 '22 05:09

Corey Downie


I use SubversionNotify, it probably does more than what you need, but is pretty simple to set up.

like image 27
Slipfish Avatar answered Sep 30 '22 07:09

Slipfish