Setting up hooks for Subversion Server
February 23, 2010
Recent Posts
- From Excel Chaos to Automated Operations: How Power Apps Transformed a Field Service Business
- Power BI vs Excel: Which Reporting Tool Is Right for Your Business?
- Smarter Call Scheduling with Power Automate, SharePoint and Microsoft Teams
- We’re Heading to the Odoo Business Show in Birmingham: Here’s What We Want to Talk About
- Only One in Six UK Businesses Are Using AI. Is Manufacturing Falling Behind?
Want to make your Microsoft 365 work harder for your business?
and we’ll tailor a solution that’s just right for you.
Collaboration is a very difficult task and it becomes worse in a software development project. Subversion helps you to manage collaboration in a very efficient way while working on a software development project in an environment full of developers from different team.
We were working on the Moodle module development project and as the team started becoming bigger and bigger, we decided that we will have to setup hooks in SVN to trigger emails to all the team members whenever a commit is done by any of the contributors.
When you create a new subversion repository it creates a hooks directory. This hooks directory has the templates of hooks. Each file name reflects the type of trigger which causes that file to execute. For example, a file name post-commit.tmpl is a template for a file which will be executed after a commit has happened. A file which will be executed post a commit action is performed by a user should be named post-commit.
And this is what we were looking for. Usually, these files are used for executing another file which performs the action but you can use these files to perform some basic functions as well.
Depending on when do you want the action performed, you need to rename the file action.tmpl to action. For example, I renamed post-commit.tmpl to post-commit because I wanted to send an email after commit.
Rest was easy because of this post; which talks about the PHP script which can be used to send an email. The only thing left after this was making sure that the post-commit hook calls the PHP script to send the email and passes the correct variables and this was achieved using this line in post-commit hook.
php /path/to/commitEmail.php “$REPOS” “$REV”
You just need to make sure that you have PHP CLI installed.
