I'm using a subversion repository and I want to know whenever somebody asks my repository for a checkout; like a 'svn co' or an 'svn up'. Is there a hook or some other method that I can use so that a script is run, or email sent, whenever somebody requests information from my svn server? How can I achieve this without relying on apache logs?
BTW it is a pretty simple repository just meant for Educational purposes.
(If you need more information then just ask. Thanks in advance.)
The following are all the supported hooks in Subversion 1.5, from the Version Control with Subversion book:
- start-commit
- pre-commit
- post-commit
- pre-revprop-change
- post-revprop-change
- pre-lock
- post-lock
- pre-unlock
- post-unlock
There is no pre-checkout or pre-update hook like you describe.
If you are using TortoiseSVN, you have access to client-side hooks.
You could do whatever you want using Apache as SVN server and (for example) mod_perl to hook into the requests. Maybe the log files already show the information you want.
SVN via SSH should also be possible: Analyze the commands started by the SVN client and wrap them (for example, by renaming the original binary with ".orig" extension and putting a (shell) script into that place.
来源:https://stackoverflow.com/questions/804970/is-there-a-subversion-checkout-hook-or-something-similar