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.

  • is there a command in GIT that has the options of “git add -p” and “git checkout -p” COMBINED?
  • How to get the latest tag name in current branch in Git?
  • Subversion: Can I checkout, modify, and then make it a branch?
  • How can I list files in CVS without an initial checkout?
  • Does the folder I am in have any significance in git?
  • How to override unmerged git checkout with upstream version
  • (If you need more information then just ask. Thanks in advance.)

  • Slow switch in subversion
  • git checkout newer branch
  • Piping data on Windows command prompt
  • SVN Lock Hook Error: expected opaquelocktoken
  • does Java have API wrappers around subversion and Git?
  • What does the “@@…@@” meta line with at signs in svn diff or git diff mean?
  • 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.