How can I add multiple SVN Hooks
سؤال
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?
المحلول 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.
نصائح أخرى
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.)