问题
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.)
回答1:
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.
回答2:
If you are using TortoiseSVN, you have access to client-side hooks.
回答3:
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/2100249/any-way-to-know-how-many-checkouts-of-my-code-have-happened-from-code-google-com