Is there a Subversion Checkout Hook or something similar?

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.

  • How do I do a pristine checkout with git?
  • How can I list files in CVS without an initial checkout?
  • How to cope with “rejected” on git push?
  • Git checkout with several remotes
  • Strange behavior with git fetch
  • SVN Error E175002
  • (If you need more information then just ask. Thanks in advance.)

  • Check subversion writable access for user
  • Can I make Subversion + TortoiseSVN case-insensitive for Windows?
  • GIT SVN: fetching a recreated SVN branch without the wrong merge parent
  • What is the maximum revision number supported by SVN?
  • Grails applications and version control
  • how to prevent push if there are unresolved conflicts using hook in git?
  • 3 Solutions collect form web for “Is there a Subversion Checkout Hook or something similar?”

    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.

    Git Baby is a git and github fan, let's start git clone.