My task is to make Hudson starting a new build after a commit. As I’ve read here it is done by using svn post-commit hook. The problem is I don’t want to use VBScript so that is is platform-dependent. As I can see the only important things in this VBScript are using svnlook command and http://server/subversion/${UUID}/notifyCommit?rev=$REV url. As far as I am concerned I can do the same thing just using, for example, a java program (which requires parameters as revision, repository location, etc.)
Can you, please, unravel the mystery of the http://server/subversion/${UUID}/notifyCommit?rev=$REV url? I need all possible variants. It would be great if sombody can describe the whole process of interaction with Hudson (it’s internal processes’ chain which execute after it gets this request)
EDIT I really need the post-commit behavior, not a polling mechanism.
The quickest, cross platform solution is to install Cygwin on the SVN server (assuming the SVN box is running Windows) and use the suppiled shell script:
Why? That one does all you need.
You could also just use something in the post-commit hook to ping:
http://YOURHOST/jenkins/job/PROJECTNAME/build. You will not get a fresh build for every commit, but if you have two commits within seconds of each other do you really want each built?Just out of curiosity, do you want the post commit as you have found your SVN server getting incredibly slow? If so, what OS is the SVN box on? You might be hitting limits of the OS and you would get much better performance (on the same tin) if you moved to Linux or a server edition of Windows.