Question

I've got several (in this case, pre-commit) hooks that I would like to have run during the same event. Right now, they are all just shell-scripts, so I know I could just concatenate them to get them all to run. In the future though, additional scripts may be written in Perl, PHP, or some other language as well.

How can I run several different scripts as part of a single hook, and have any one failure of the sub-hooks, fail as expected?

Was it helpful?

Solution 3

Much like @Gnustavo's Perl-based solution, I've also found some other (PHP-based) systems, such as

Both projects (and other 'SVN Hooks') will fail a commit if there's a failure of the tests.

OTHER TIPS

You can just invoke each script from the single pre-commit script in SVN:

#!/bin/sh

sh do_this.sh
php do_that.php
...

You don't even need to mention the executable names (sh or php) if you use a proper shebang in your scripts.

You can try the SVN::Hooks Perl module which lets you implement and integrate many hooks in a single configuration file, which can even be kept versioned in the same repository.

(Disclosure: I'm the author of that module.)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top