start-commit — Notification of the beginning of a commit.


The start-commit hook is run before the commit transaction is even created. It is typically used to decide if the user has commit privileges at all.

If the start-commit hook program returns a non-zero exit value, the commit is stopped before the commit transaction is even created, and anything printed to stderr is marshalled back to the client.

Input Parameter(s)

The command-line arguments passed to the hook program, in order, are:

  1. repository path

  2. authenticated username attempting the commit

  3. (new in Subversion 1.5) colon separated list of capabilities that a client passes to the server, including depth, mergeinfo, and log-revprops.

Common Uses

access control (e.g. temporarily lock out commits for some reason)

a means to allow access only from clients that have certain capabilities.