aboutsummaryrefslogtreecommitdiffstats
path: root/hooks
diff options
context:
space:
mode:
Diffstat (limited to 'hooks')
-rw-r--r--hooks/post-commit.tmpl50
-rw-r--r--hooks/post-lock.tmpl44
-rw-r--r--hooks/post-revprop-change.tmpl56
-rw-r--r--hooks/post-unlock.tmpl42
-rw-r--r--hooks/pre-commit.tmpl81
-rw-r--r--hooks/pre-lock.tmpl71
-rw-r--r--hooks/pre-revprop-change.tmpl66
-rw-r--r--hooks/pre-unlock.tmpl63
-rw-r--r--hooks/start-commit.tmpl65
9 files changed, 0 insertions, 538 deletions
diff --git a/hooks/post-commit.tmpl b/hooks/post-commit.tmpl
deleted file mode 100644
index 4b7035788..000000000
--- a/hooks/post-commit.tmpl
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-
-# POST-COMMIT HOOK
-#
-# The post-commit hook is invoked after a commit. Subversion runs
-# this hook by invoking a program (script, executable, binary, etc.)
-# named 'post-commit' (for which this file is a template) with the
-# following ordered arguments:
-#
-# [1] REPOS-PATH (the path to this repository)
-# [2] REV (the number of the revision just committed)
-#
-# The default working directory for the invocation is undefined, so
-# the program should set one explicitly if it cares.
-#
-# Because the commit has already completed and cannot be undone,
-# the exit code of the hook program is ignored. The hook program
-# can use the 'svnlook' utility to help it examine the
-# newly-committed tree.
-#
-# On a Unix system, the normal procedure is to have 'post-commit'
-# invoke other programs to do the real work, though it may do the
-# work itself too.
-#
-# Note that 'post-commit' must be executable by the user(s) who will
-# invoke it (typically the user httpd runs as), and that user must
-# have filesystem-level permission to access the repository.
-#
-# On a Windows system, you should name the hook program
-# 'post-commit.bat' or 'post-commit.exe',
-# but the basic idea is the same.
-#
-# The hook program typically does not inherit the environment of
-# its parent process. For example, a common problem is for the
-# PATH environment variable to not be set to its usual value, so
-# that subprograms fail to launch unless invoked via absolute path.
-# If you're having unexpected problems with a hook program, the
-# culprit may be unusual (or missing) environment variables.
-#
-# Here is an example hook script, for a Unix /bin/sh interpreter.
-# For more examples and pre-written hooks, see those in
-# the Subversion repository at
-# http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/ and
-# http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/
-
-
-REPOS="$1"
-REV="$2"
-
-mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
diff --git a/hooks/post-lock.tmpl b/hooks/post-lock.tmpl
deleted file mode 100644
index 65a7d40ea..000000000
--- a/hooks/post-lock.tmpl
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/sh
-
-# POST-LOCK HOOK
-#
-# The post-lock hook is run after a path is locked. Subversion runs
-# this hook by invoking a program (script, executable, binary, etc.)
-# named 'post-lock' (for which this file is a template) with the
-# following ordered arguments:
-#
-# [1] REPOS-PATH (the path to this repository)
-# [2] USER (the user who created the lock)
-#
-# The paths that were just locked are passed to the hook via STDIN (as
-# of Subversion 1.2, only one path is passed per invocation, but the
-# plan is to pass all locked paths at once, so the hook program
-# should be written accordingly).
-#
-# The default working directory for the invocation is undefined, so
-# the program should set one explicitly if it cares.
-#
-# Because the lock has already been created and cannot be undone,
-# the exit code of the hook program is ignored. The hook program
-# can use the 'svnlook' utility to help it examine the
-# newly-created lock.
-#
-# On a Unix system, the normal procedure is to have 'post-lock'
-# invoke other programs to do the real work, though it may do the
-# work itself too.
-#
-# Note that 'post-lock' must be executable by the user(s) who will
-# invoke it (typically the user httpd runs as), and that user must
-# have filesystem-level permission to access the repository.
-#
-# On a Windows system, you should name the hook program
-# 'post-lock.bat' or 'post-lock.exe',
-# but the basic idea is the same.
-#
-# Here is an example hook script, for a Unix /bin/sh interpreter:
-
-REPOS="$1"
-USER="$2"
-
-# Send email to interested parties, let them know a lock was created:
-mailer.py lock "$REPOS" "$USER" /path/to/mailer.conf
diff --git a/hooks/post-revprop-change.tmpl b/hooks/post-revprop-change.tmpl
deleted file mode 100644
index be2b54a5b..000000000
--- a/hooks/post-revprop-change.tmpl
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/sh
-
-# POST-REVPROP-CHANGE HOOK
-#
-# The post-revprop-change hook is invoked after a revision property
-# has been added, modified or deleted. Subversion runs this hook by
-# invoking a program (script, executable, binary, etc.) named
-# 'post-revprop-change' (for which this file is a template), with the
-# following ordered arguments:
-#
-# [1] REPOS-PATH (the path to this repository)
-# [2] REV (the revision that was tweaked)
-# [3] USER (the username of the person tweaking the property)
-# [4] PROPNAME (the property that was changed)
-# [5] ACTION (the property was 'A'dded, 'M'odified, or 'D'eleted)
-#
-# [STDIN] PROPVAL ** the old property value is passed via STDIN.
-#
-# Because the propchange has already completed and cannot be undone,
-# the exit code of the hook program is ignored. The hook program
-# can use the 'svnlook' utility to help it examine the
-# new property value.
-#
-# On a Unix system, the normal procedure is to have 'post-revprop-change'
-# invoke other programs to do the real work, though it may do the
-# work itself too.
-#
-# Note that 'post-revprop-change' must be executable by the user(s) who will
-# invoke it (typically the user httpd runs as), and that user must
-# have filesystem-level permission to access the repository.
-#
-# On a Windows system, you should name the hook program
-# 'post-revprop-change.bat' or 'post-revprop-change.exe',
-# but the basic idea is the same.
-#
-# The hook program typically does not inherit the environment of
-# its parent process. For example, a common problem is for the
-# PATH environment variable to not be set to its usual value, so
-# that subprograms fail to launch unless invoked via absolute path.
-# If you're having unexpected problems with a hook program, the
-# culprit may be unusual (or missing) environment variables.
-#
-# Here is an example hook script, for a Unix /bin/sh interpreter.
-# For more examples and pre-written hooks, see those in
-# the Subversion repository at
-# http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/ and
-# http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/
-
-
-REPOS="$1"
-REV="$2"
-USER="$3"
-PROPNAME="$4"
-ACTION="$5"
-
-mailer.py propchange2 "$REPOS" "$REV" "$USER" "$PROPNAME" "$ACTION" /path/to/mailer.conf
diff --git a/hooks/post-unlock.tmpl b/hooks/post-unlock.tmpl
deleted file mode 100644
index 5821be83e..000000000
--- a/hooks/post-unlock.tmpl
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-
-# POST-UNLOCK HOOK
-#
-# The post-unlock hook runs after a path is unlocked. Subversion runs
-# this hook by invoking a program (script, executable, binary, etc.)
-# named 'post-unlock' (for which this file is a template) with the
-# following ordered arguments:
-#
-# [1] REPOS-PATH (the path to this repository)
-# [2] USER (the user who destroyed the lock)
-#
-# The paths that were just unlocked are passed to the hook via STDIN
-# (as of Subversion 1.2, only one path is passed per invocation, but
-# the plan is to pass all unlocked paths at once, so the hook program
-# should be written accordingly).
-#
-# The default working directory for the invocation is undefined, so
-# the program should set one explicitly if it cares.
-#
-# Because the lock has already been destroyed and cannot be undone,
-# the exit code of the hook program is ignored.
-#
-# On a Unix system, the normal procedure is to have 'post-unlock'
-# invoke other programs to do the real work, though it may do the
-# work itself too.
-#
-# Note that 'post-unlock' must be executable by the user(s) who will
-# invoke it (typically the user httpd runs as), and that user must
-# have filesystem-level permission to access the repository.
-#
-# On a Windows system, you should name the hook program
-# 'post-unlock.bat' or 'post-unlock.exe',
-# but the basic idea is the same.
-#
-# Here is an example hook script, for a Unix /bin/sh interpreter:
-
-REPOS="$1"
-USER="$2"
-
-# Send email to interested parties, let them know a lock was removed:
-mailer.py unlock "$REPOS" "$USER" /path/to/mailer.conf
diff --git a/hooks/pre-commit.tmpl b/hooks/pre-commit.tmpl
deleted file mode 100644
index 776968d1f..000000000
--- a/hooks/pre-commit.tmpl
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/bin/sh
-
-# PRE-COMMIT HOOK
-#
-# The pre-commit hook is invoked before a Subversion txn is
-# committed. Subversion runs this hook by invoking a program
-# (script, executable, binary, etc.) named 'pre-commit' (for which
-# this file is a template), with the following ordered arguments:
-#
-# [1] REPOS-PATH (the path to this repository)
-# [2] TXN-NAME (the name of the txn about to be committed)
-#
-# [STDIN] LOCK-TOKENS ** the lock tokens are passed via STDIN.
-#
-# If STDIN contains the line "LOCK-TOKENS:\n" (the "\n" denotes a
-# single newline), the lines following it are the lock tokens for
-# this commit. The end of the list is marked by a line containing
-# only a newline character.
-#
-# Each lock token line consists of a URI-escaped path, followed
-# by the separator character '|', followed by the lock token string,
-# followed by a newline.
-#
-# The default working directory for the invocation is undefined, so
-# the program should set one explicitly if it cares.
-#
-# If the hook program exits with success, the txn is committed; but
-# if it exits with failure (non-zero), the txn is aborted, no commit
-# takes place, and STDERR is returned to the client. The hook
-# program can use the 'svnlook' utility to help it examine the txn.
-#
-# On a Unix system, the normal procedure is to have 'pre-commit'
-# invoke other programs to do the real work, though it may do the
-# work itself too.
-#
-# *** NOTE: THE HOOK PROGRAM MUST NOT MODIFY THE TXN, EXCEPT ***
-# *** FOR REVISION PROPERTIES (like svn:log or svn:author). ***
-#
-# This is why we recommend using the read-only 'svnlook' utility.
-# In the future, Subversion may enforce the rule that pre-commit
-# hooks should not modify the versioned data in txns, or else come
-# up with a mechanism to make it safe to do so (by informing the
-# committing client of the changes). However, right now neither
-# mechanism is implemented, so hook writers just have to be careful.
-#
-# Note that 'pre-commit' must be executable by the user(s) who will
-# invoke it (typically the user httpd runs as), and that user must
-# have filesystem-level permission to access the repository.
-#
-# On a Windows system, you should name the hook program
-# 'pre-commit.bat' or 'pre-commit.exe',
-# but the basic idea is the same.
-#
-# The hook program typically does not inherit the environment of
-# its parent process. For example, a common problem is for the
-# PATH environment variable to not be set to its usual value, so
-# that subprograms fail to launch unless invoked via absolute path.
-# If you're having unexpected problems with a hook program, the
-# culprit may be unusual (or missing) environment variables.
-#
-# Here is an example hook script, for a Unix /bin/sh interpreter.
-# For more examples and pre-written hooks, see those in
-# the Subversion repository at
-# http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/ and
-# http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/
-
-
-REPOS="$1"
-TXN="$2"
-
-# Make sure that the log message contains some text.
-SVNLOOK=/usr/local/bin/svnlook
-$SVNLOOK log -t "$TXN" "$REPOS" | \
- grep "[a-zA-Z0-9]" > /dev/null || exit 1
-
-# Check that the author of this commit has the rights to perform
-# the commit on the files and directories being modified.
-commit-access-control.pl "$REPOS" "$TXN" commit-access-control.cfg || exit 1
-
-# All checks passed, so allow the commit.
-exit 0
diff --git a/hooks/pre-lock.tmpl b/hooks/pre-lock.tmpl
deleted file mode 100644
index 2a4a039fd..000000000
--- a/hooks/pre-lock.tmpl
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/sh
-
-# PRE-LOCK HOOK
-#
-# The pre-lock hook is invoked before an exclusive lock is
-# created. Subversion runs this hook by invoking a program
-# (script, executable, binary, etc.) named 'pre-lock' (for which
-# this file is a template), with the following ordered arguments:
-#
-# [1] REPOS-PATH (the path to this repository)
-# [2] PATH (the path in the repository about to be locked)
-# [3] USER (the user creating the lock)
-# [4] COMMENT (the comment of the lock)
-# [5] STEAL-LOCK (1 if the user is trying to steal the lock, else 0)
-#
-# If the hook program outputs anything on stdout, the output string will
-# be used as the lock token for this lock operation. If you choose to use
-# this feature, you must guarantee the tokens generated are unique across
-# the repository each time.
-#
-# The default working directory for the invocation is undefined, so
-# the program should set one explicitly if it cares.
-#
-# If the hook program exits with success, the lock is created; but
-# if it exits with failure (non-zero), the lock action is aborted
-# and STDERR is returned to the client.
-
-# On a Unix system, the normal procedure is to have 'pre-lock'
-# invoke other programs to do the real work, though it may do the
-# work itself too.
-#
-# Note that 'pre-lock' must be executable by the user(s) who will
-# invoke it (typically the user httpd runs as), and that user must
-# have filesystem-level permission to access the repository.
-#
-# On a Windows system, you should name the hook program
-# 'pre-lock.bat' or 'pre-lock.exe',
-# but the basic idea is the same.
-#
-# Here is an example hook script, for a Unix /bin/sh interpreter:
-
-REPOS="$1"
-PATH="$2"
-USER="$3"
-
-# If a lock exists and is owned by a different person, don't allow it
-# to be stolen (e.g., with 'svn lock --force ...').
-
-# (Maybe this script could send email to the lock owner?)
-SVNLOOK=/usr/local/bin/svnlook
-GREP=/bin/grep
-SED=/bin/sed
-
-LOCK_OWNER=`$SVNLOOK lock "$REPOS" "$PATH" | \
- $GREP '^Owner: ' | $SED 's/Owner: //'`
-
-# If we get no result from svnlook, there's no lock, allow the lock to
-# happen:
-if [ "$LOCK_OWNER" = "" ]; then
- exit 0
-fi
-
-# If the person locking matches the lock's owner, allow the lock to
-# happen:
-if [ "$LOCK_OWNER" = "$USER" ]; then
- exit 0
-fi
-
-# Otherwise, we've got an owner mismatch, so return failure:
-echo "Error: $PATH already locked by ${LOCK_OWNER}." 1>&2
-exit 1
diff --git a/hooks/pre-revprop-change.tmpl b/hooks/pre-revprop-change.tmpl
deleted file mode 100644
index 4f600a90f..000000000
--- a/hooks/pre-revprop-change.tmpl
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/bin/sh
-
-# PRE-REVPROP-CHANGE HOOK
-#
-# The pre-revprop-change hook is invoked before a revision property
-# is added, modified or deleted. Subversion runs this hook by invoking
-# a program (script, executable, binary, etc.) named 'pre-revprop-change'
-# (for which this file is a template), with the following ordered
-# arguments:
-#
-# [1] REPOS-PATH (the path to this repository)
-# [2] REVISION (the revision being tweaked)
-# [3] USER (the username of the person tweaking the property)
-# [4] PROPNAME (the property being set on the revision)
-# [5] ACTION (the property is being 'A'dded, 'M'odified, or 'D'eleted)
-#
-# [STDIN] PROPVAL ** the new property value is passed via STDIN.
-#
-# If the hook program exits with success, the propchange happens; but
-# if it exits with failure (non-zero), the propchange doesn't happen.
-# The hook program can use the 'svnlook' utility to examine the
-# existing value of the revision property.
-#
-# WARNING: unlike other hooks, this hook MUST exist for revision
-# properties to be changed. If the hook does not exist, Subversion
-# will behave as if the hook were present, but failed. The reason
-# for this is that revision properties are UNVERSIONED, meaning that
-# a successful propchange is destructive; the old value is gone
-# forever. We recommend the hook back up the old value somewhere.
-#
-# On a Unix system, the normal procedure is to have 'pre-revprop-change'
-# invoke other programs to do the real work, though it may do the
-# work itself too.
-#
-# Note that 'pre-revprop-change' must be executable by the user(s) who will
-# invoke it (typically the user httpd runs as), and that user must
-# have filesystem-level permission to access the repository.
-#
-# On a Windows system, you should name the hook program
-# 'pre-revprop-change.bat' or 'pre-revprop-change.exe',
-# but the basic idea is the same.
-#
-# The hook program typically does not inherit the environment of
-# its parent process. For example, a common problem is for the
-# PATH environment variable to not be set to its usual value, so
-# that subprograms fail to launch unless invoked via absolute path.
-# If you're having unexpected problems with a hook program, the
-# culprit may be unusual (or missing) environment variables.
-#
-# Here is an example hook script, for a Unix /bin/sh interpreter.
-# For more examples and pre-written hooks, see those in
-# the Subversion repository at
-# http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/ and
-# http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/
-
-
-REPOS="$1"
-REV="$2"
-USER="$3"
-PROPNAME="$4"
-ACTION="$5"
-
-if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi
-
-echo "Changing revision properties other than svn:log is prohibited" >&2
-exit 1
diff --git a/hooks/pre-unlock.tmpl b/hooks/pre-unlock.tmpl
deleted file mode 100644
index 6754801d4..000000000
--- a/hooks/pre-unlock.tmpl
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/bin/sh
-
-# PRE-UNLOCK HOOK
-#
-# The pre-unlock hook is invoked before an exclusive lock is
-# destroyed. Subversion runs this hook by invoking a program
-# (script, executable, binary, etc.) named 'pre-unlock' (for which
-# this file is a template), with the following ordered arguments:
-#
-# [1] REPOS-PATH (the path to this repository)
-# [2] PATH (the path in the repository about to be unlocked)
-# [3] USER (the user destroying the lock)
-# [4] TOKEN (the lock token to be destroyed)
-# [5] BREAK-UNLOCK (1 if the user is breaking the lock, else 0)
-#
-# The default working directory for the invocation is undefined, so
-# the program should set one explicitly if it cares.
-#
-# If the hook program exits with success, the lock is destroyed; but
-# if it exits with failure (non-zero), the unlock action is aborted
-# and STDERR is returned to the client.
-
-# On a Unix system, the normal procedure is to have 'pre-unlock'
-# invoke other programs to do the real work, though it may do the
-# work itself too.
-#
-# Note that 'pre-unlock' must be executable by the user(s) who will
-# invoke it (typically the user httpd runs as), and that user must
-# have filesystem-level permission to access the repository.
-#
-# On a Windows system, you should name the hook program
-# 'pre-unlock.bat' or 'pre-unlock.exe',
-# but the basic idea is the same.
-#
-# Here is an example hook script, for a Unix /bin/sh interpreter:
-
-REPOS="$1"
-PATH="$2"
-USER="$3"
-
-# If a lock is owned by a different person, don't allow it be broken.
-# (Maybe this script could send email to the lock owner?)
-
-SVNLOOK=/usr/local/bin/svnlook
-GREP=/bin/grep
-SED=/bin/sed
-
-LOCK_OWNER=`$SVNLOOK lock "$REPOS" "$PATH" | \
- $GREP '^Owner: ' | $SED 's/Owner: //'`
-
-# If we get no result from svnlook, there's no lock, return success:
-if [ "$LOCK_OWNER" = "" ]; then
- exit 0
-fi
-
-# If the person unlocking matches the lock's owner, return success:
-if [ "$LOCK_OWNER" = "$USER" ]; then
- exit 0
-fi
-
-# Otherwise, we've got an owner mismatch, so return failure:
-echo "Error: $PATH locked by ${LOCK_OWNER}." 1>&2
-exit 1
diff --git a/hooks/start-commit.tmpl b/hooks/start-commit.tmpl
deleted file mode 100644
index 7df182eaa..000000000
--- a/hooks/start-commit.tmpl
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/bin/sh
-
-# START-COMMIT HOOK
-#
-# The start-commit hook is invoked before a Subversion txn is created
-# in the process of doing a commit. Subversion runs this hook
-# by invoking a program (script, executable, binary, etc.) named
-# 'start-commit' (for which this file is a template)
-# with the following ordered arguments:
-#
-# [1] REPOS-PATH (the path to this repository)
-# [2] USER (the authenticated user attempting to commit)
-# [3] CAPABILITIES (a colon-separated list of capabilities reported
-# by the client; see note below)
-#
-# Note: The CAPABILITIES parameter is new in Subversion 1.5, and 1.5
-# clients will typically report at least the "mergeinfo" capability.
-# If there are other capabilities, then the list is colon-separated,
-# e.g.: "mergeinfo:some-other-capability" (the order is undefined).
-#
-# The list is self-reported by the client. Therefore, you should not
-# make security assumptions based on the capabilities list, nor should
-# you assume that clients reliably report every capability they have.
-#
-# The working directory for this hook program's invocation is undefined,
-# so the program should set one explicitly if it cares.
-#
-# If the hook program exits with success, the commit continues; but
-# if it exits with failure (non-zero), the commit is stopped before
-# a Subversion txn is created, and STDERR is returned to the client.
-#
-# On a Unix system, the normal procedure is to have 'start-commit'
-# invoke other programs to do the real work, though it may do the
-# work itself too.
-#
-# Note that 'start-commit' must be executable by the user(s) who will
-# invoke it (typically the user httpd runs as), and that user must
-# have filesystem-level permission to access the repository.
-#
-# On a Windows system, you should name the hook program
-# 'start-commit.bat' or 'start-commit.exe',
-# but the basic idea is the same.
-#
-# The hook program typically does not inherit the environment of
-# its parent process. For example, a common problem is for the
-# PATH environment variable to not be set to its usual value, so
-# that subprograms fail to launch unless invoked via absolute path.
-# If you're having unexpected problems with a hook program, the
-# culprit may be unusual (or missing) environment variables.
-#
-# Here is an example hook script, for a Unix /bin/sh interpreter.
-# For more examples and pre-written hooks, see those in
-# the Subversion repository at
-# http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/ and
-# http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/
-
-
-REPOS="$1"
-USER="$2"
-
-commit-allower.pl --repository "$REPOS" --user "$USER" || exit 1
-special-auth-check.py --user "$USER" --auth-level 3 || exit 1
-
-# All checks passed, so allow the commit.
-exit 0