+++ /dev/null
-This is a Subversion repository; use the 'svnadmin' tool to examine\r
-it. Do not add, delete, or modify files here unless you know how\r
-to avoid corrupting the repository.\r
-\r
-Visit http://subversion.tigris.org/ for more information.\r
+++ /dev/null
-### This file is an example authorization file for svnserve.\r
-### Its format is identical to that of mod_authz_svn authorization\r
-### files.\r
-### As shown below each section defines authorizations for the path and\r
-### (optional) repository specified by the section name.\r
-### The authorizations follow. An authorization line can refer to:\r
-### - a single user,\r
-### - a group of users defined in a special [groups] section,\r
-### - an alias defined in a special [aliases] section,\r
-### - all authenticated users, using the '$authenticated' token,\r
-### - only anonymous users, using the '$anonymous' token,\r
-### - anyone, using the '*' wildcard.\r
-###\r
-### A match can be inverted by prefixing the rule with '~'. Rules can\r
-### grant read ('r') access, read-write ('rw') access, or no access\r
-### ('').\r
-\r
-[aliases]\r
-# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average\r
-\r
-[groups]\r
-# harry_and_sally = harry,sally\r
-# harry_sally_and_joe = harry,sally,&joe\r
-\r
-# [/foo/bar]\r
-# harry = rw\r
-# &joe = r\r
-# * =\r
-\r
-# [repository:/baz/fuz]\r
-# @harry_and_sally = rw\r
-# * = r\r
+++ /dev/null
-### This file is an example password file for svnserve.\r
-### Its format is similar to that of svnserve.conf. As shown in the\r
-### example below it contains one section labelled [users].\r
-### The name and password for each user follow, one account per line.\r
-\r
-[users]\r
-# harry = harryssecret\r
-# sally = sallyssecret\r
+++ /dev/null
-### This file controls the configuration of the svnserve daemon, if you\r
-### use it to allow access to this repository. (If you only allow\r
-### access through http: and/or file: URLs, then this file is\r
-### irrelevant.)\r
-\r
-### Visit http://subversion.tigris.org/ for more information.\r
-\r
-[general]\r
-### These options control access to the repository for unauthenticated\r
-### and authenticated users. Valid values are "write", "read",\r
-### and "none". The sample settings below are the defaults.\r
-# anon-access = read\r
-# auth-access = write\r
-### The password-db option controls the location of the password\r
-### database file. Unless you specify a path starting with a /,\r
-### the file's location is relative to the directory containing\r
-### this configuration file.\r
-### If SASL is enabled (see below), this file will NOT be used.\r
-### Uncomment the line below to use the default password file.\r
-# password-db = passwd\r
-### The authz-db option controls the location of the authorization\r
-### rules for path-based access control. Unless you specify a path\r
-### starting with a /, the file's location is relative to the the\r
-### directory containing this file. If you don't specify an\r
-### authz-db, no path-based access control is done.\r
-### Uncomment the line below to use the default authorization file.\r
-# authz-db = authz\r
-### This option specifies the authentication realm of the repository.\r
-### If two repositories have the same authentication realm, they should\r
-### have the same password database, and vice versa. The default realm\r
-### is repository's uuid.\r
-# realm = My First Repository\r
-\r
-[sasl]\r
-### This option specifies whether you want to use the Cyrus SASL\r
-### library for authentication. Default is false.\r
-### This section will be ignored if svnserve is not built with Cyrus\r
-### SASL support; to check, run 'svnserve --version' and look for a line\r
-### reading 'Cyrus SASL authentication is available.'\r
-# use-sasl = true\r
-### These options specify the desired strength of the security layer\r
-### that you want SASL to provide. 0 means no encryption, 1 means\r
-### integrity-checking only, values larger than 1 are correlated\r
-### to the effective key length for encryption (e.g. 128 means 128-bit\r
-### encryption). The values below are the defaults.\r
-# min-encryption = 0\r
-# max-encryption = 256\r
+++ /dev/null
-4
-layout sharded 1000
+++ /dev/null
-### This file controls the configuration of the FSFS filesystem.\r
-\r
-[memcached-servers]\r
-### These options name memcached servers used to cache internal FSFS\r
-### data. See http://www.danga.com/memcached/ for more information on\r
-### memcached. To use memcached with FSFS, run one or more memcached\r
-### servers, and specify each of them as an option like so:\r
-# first-server = 127.0.0.1:11211\r
-# remote-memcached = mymemcached.corp.example.com:11212\r
-### The option name is ignored; the value is of the form HOST:PORT.\r
-### memcached servers can be shared between multiple repositories;\r
-### however, if you do this, you *must* ensure that repositories have\r
-### distinct UUIDs and paths, or else cached data from one repository\r
-### might be used by another accidentally. Note also that memcached has\r
-### no authentication for reads or writes, so you must ensure that your\r
-### memcached servers are only accessible by trusted users.\r
-\r
-[caches]\r
-### When a cache-related error occurs, normally Subversion ignores it\r
-### and continues, logging an error if the server is appropriately\r
-### configured (and ignoring it with file:// access). To make\r
-### Subversion never ignore cache errors, uncomment this line.\r
-# fail-stop = true\r
-\r
-[rep-sharing]\r
-### To conserve space, the filesystem can optionally avoid storing\r
-### duplicate representations. This comes at a slight cost in performace,\r
-### as maintaining a database of shared representations can increase\r
-### commit times. The space savings are dependent upon the size of the\r
-### repository, the number of objects it contains and the amount of\r
-### duplication between them, usually a function of the branching and\r
-### merging process.\r
-###\r
-### The following parameter enables rep-sharing in the repository. It can\r
-### be switched on and off at will, but for best space-saving results\r
-### should be enabled consistently over the life of the repository.\r
-# enable-rep-sharing = false\r
+++ /dev/null
-K 8
-svn:date
-V 27
-2009-10-29T14:40:39.281250Z
-END
+++ /dev/null
-PLAIN
-END
-ENDREP
-id: 0.0.r0/17
-type: dir
-count: 0
-text: 0 0 4 4 2d2977d1c96f487abe4a1e202dd03b4e
-cpath: /
-
-
-17 107
+++ /dev/null
-08ac87bf-ed22-8844-a4e4-74601d66b8de
+++ /dev/null
-#!/bin/sh\r
-\r
-# POST-COMMIT HOOK\r
-#\r
-# The post-commit hook is invoked after a commit. Subversion runs\r
-# this hook by invoking a program (script, executable, binary, etc.)\r
-# named 'post-commit' (for which this file is a template) with the \r
-# following ordered arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] REV (the number of the revision just committed)\r
-#\r
-# The default working directory for the invocation is undefined, so\r
-# the program should set one explicitly if it cares.\r
-#\r
-# Because the commit has already completed and cannot be undone,\r
-# the exit code of the hook program is ignored. The hook program\r
-# can use the 'svnlook' utility to help it examine the\r
-# newly-committed tree.\r
-#\r
-# On a Unix system, the normal procedure is to have 'post-commit'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# Note that 'post-commit' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'post-commit.bat' or 'post-commit.exe',\r
-# but the basic idea is the same.\r
-# \r
-# The hook program typically does not inherit the environment of\r
-# its parent process. For example, a common problem is for the\r
-# PATH environment variable to not be set to its usual value, so\r
-# that subprograms fail to launch unless invoked via absolute path.\r
-# If you're having unexpected problems with a hook program, the\r
-# culprit may be unusual (or missing) environment variables.\r
-# \r
-# Here is an example hook script, for a Unix /bin/sh interpreter.\r
-# For more examples and pre-written hooks, see those in\r
-# the Subversion repository at\r
-# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and\r
-# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/\r
-\r
-\r
-REPOS="$1"\r
-REV="$2"\r
-\r
-mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf\r
+++ /dev/null
-#!/bin/sh\r
-\r
-# POST-LOCK HOOK\r
-#\r
-# The post-lock hook is run after a path is locked. Subversion runs\r
-# this hook by invoking a program (script, executable, binary, etc.)\r
-# named 'post-lock' (for which this file is a template) with the \r
-# following ordered arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] USER (the user who created the lock)\r
-#\r
-# The paths that were just locked are passed to the hook via STDIN (as\r
-# of Subversion 1.2, only one path is passed per invocation, but the\r
-# plan is to pass all locked paths at once, so the hook program\r
-# should be written accordingly).\r
-#\r
-# The default working directory for the invocation is undefined, so\r
-# the program should set one explicitly if it cares.\r
-#\r
-# Because the lock has already been created and cannot be undone,\r
-# the exit code of the hook program is ignored. The hook program\r
-# can use the 'svnlook' utility to help it examine the\r
-# newly-created lock.\r
-#\r
-# On a Unix system, the normal procedure is to have 'post-lock'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# Note that 'post-lock' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'post-lock.bat' or 'post-lock.exe',\r
-# but the basic idea is the same.\r
-# \r
-# Here is an example hook script, for a Unix /bin/sh interpreter:\r
-\r
-REPOS="$1"\r
-USER="$2"\r
-\r
-# Send email to interested parties, let them know a lock was created:\r
-mailer.py lock "$REPOS" "$USER" /path/to/mailer.conf\r
+++ /dev/null
-#!/bin/sh\r
-\r
-# POST-REVPROP-CHANGE HOOK\r
-#\r
-# The post-revprop-change hook is invoked after a revision property\r
-# has been added, modified or deleted. Subversion runs this hook by\r
-# invoking a program (script, executable, binary, etc.) named\r
-# 'post-revprop-change' (for which this file is a template), with the\r
-# following ordered arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] REV (the revision that was tweaked)\r
-# [3] USER (the username of the person tweaking the property)\r
-# [4] PROPNAME (the property that was changed)\r
-# [5] ACTION (the property was 'A'dded, 'M'odified, or 'D'eleted)\r
-#\r
-# [STDIN] PROPVAL ** the old property value is passed via STDIN.\r
-#\r
-# Because the propchange has already completed and cannot be undone,\r
-# the exit code of the hook program is ignored. The hook program\r
-# can use the 'svnlook' utility to help it examine the\r
-# new property value.\r
-#\r
-# On a Unix system, the normal procedure is to have 'post-revprop-change'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# Note that 'post-revprop-change' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'post-revprop-change.bat' or 'post-revprop-change.exe',\r
-# but the basic idea is the same.\r
-# \r
-# The hook program typically does not inherit the environment of\r
-# its parent process. For example, a common problem is for the\r
-# PATH environment variable to not be set to its usual value, so\r
-# that subprograms fail to launch unless invoked via absolute path.\r
-# If you're having unexpected problems with a hook program, the\r
-# culprit may be unusual (or missing) environment variables.\r
-# \r
-# Here is an example hook script, for a Unix /bin/sh interpreter.\r
-# For more examples and pre-written hooks, see those in\r
-# the Subversion repository at\r
-# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and\r
-# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/\r
-\r
-\r
-REPOS="$1"\r
-REV="$2"\r
-USER="$3"\r
-PROPNAME="$4"\r
-ACTION="$5"\r
-\r
-mailer.py propchange2 "$REPOS" "$REV" "$USER" "$PROPNAME" "$ACTION" /path/to/mailer.conf\r
+++ /dev/null
-#!/bin/sh\r
-\r
-# POST-UNLOCK HOOK\r
-#\r
-# The post-unlock hook runs after a path is unlocked. Subversion runs\r
-# this hook by invoking a program (script, executable, binary, etc.)\r
-# named 'post-unlock' (for which this file is a template) with the \r
-# following ordered arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] USER (the user who destroyed the lock)\r
-#\r
-# The paths that were just unlocked are passed to the hook via STDIN\r
-# (as of Subversion 1.2, only one path is passed per invocation, but\r
-# the plan is to pass all unlocked paths at once, so the hook program\r
-# should be written accordingly).\r
-#\r
-# The default working directory for the invocation is undefined, so\r
-# the program should set one explicitly if it cares.\r
-#\r
-# Because the lock has already been destroyed and cannot be undone,\r
-# the exit code of the hook program is ignored.\r
-#\r
-# On a Unix system, the normal procedure is to have 'post-unlock'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# Note that 'post-unlock' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'post-unlock.bat' or 'post-unlock.exe',\r
-# but the basic idea is the same.\r
-# \r
-# Here is an example hook script, for a Unix /bin/sh interpreter:\r
-\r
-REPOS="$1"\r
-USER="$2"\r
-\r
-# Send email to interested parties, let them know a lock was removed:\r
-mailer.py unlock "$REPOS" "$USER" /path/to/mailer.conf\r
+++ /dev/null
-#!/bin/sh\r
-\r
-# PRE-COMMIT HOOK\r
-#\r
-# The pre-commit hook is invoked before a Subversion txn is\r
-# committed. Subversion runs this hook by invoking a program\r
-# (script, executable, binary, etc.) named 'pre-commit' (for which\r
-# this file is a template), with the following ordered arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] TXN-NAME (the name of the txn about to be committed)\r
-#\r
-# [STDIN] LOCK-TOKENS ** the lock tokens are passed via STDIN.\r
-#\r
-# If STDIN contains the line "LOCK-TOKENS:\n" (the "\n" denotes a\r
-# single newline), the lines following it are the lock tokens for\r
-# this commit. The end of the list is marked by a line containing\r
-# only a newline character.\r
-#\r
-# Each lock token line consists of a URI-escaped path, followed\r
-# by the separator character '|', followed by the lock token string,\r
-# followed by a newline.\r
-#\r
-# The default working directory for the invocation is undefined, so\r
-# the program should set one explicitly if it cares.\r
-#\r
-# If the hook program exits with success, the txn is committed; but\r
-# if it exits with failure (non-zero), the txn is aborted, no commit\r
-# takes place, and STDERR is returned to the client. The hook\r
-# program can use the 'svnlook' utility to help it examine the txn.\r
-#\r
-# On a Unix system, the normal procedure is to have 'pre-commit'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# *** NOTE: THE HOOK PROGRAM MUST NOT MODIFY THE TXN, EXCEPT ***\r
-# *** FOR REVISION PROPERTIES (like svn:log or svn:author). ***\r
-#\r
-# This is why we recommend using the read-only 'svnlook' utility.\r
-# In the future, Subversion may enforce the rule that pre-commit\r
-# hooks should not modify the versioned data in txns, or else come\r
-# up with a mechanism to make it safe to do so (by informing the\r
-# committing client of the changes). However, right now neither\r
-# mechanism is implemented, so hook writers just have to be careful.\r
-#\r
-# Note that 'pre-commit' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'pre-commit.bat' or 'pre-commit.exe',\r
-# but the basic idea is the same.\r
-#\r
-# The hook program typically does not inherit the environment of\r
-# its parent process. For example, a common problem is for the\r
-# PATH environment variable to not be set to its usual value, so\r
-# that subprograms fail to launch unless invoked via absolute path.\r
-# If you're having unexpected problems with a hook program, the\r
-# culprit may be unusual (or missing) environment variables.\r
-# \r
-# Here is an example hook script, for a Unix /bin/sh interpreter.\r
-# For more examples and pre-written hooks, see those in\r
-# the Subversion repository at\r
-# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and\r
-# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/\r
-\r
-\r
-REPOS="$1"\r
-TXN="$2"\r
-\r
-# Make sure that the log message contains some text.\r
-SVNLOOK=/usr/local/bin/svnlook\r
-$SVNLOOK log -t "$TXN" "$REPOS" | \\r
- grep "[a-zA-Z0-9]" > /dev/null || exit 1\r
-\r
-# Check that the author of this commit has the rights to perform\r
-# the commit on the files and directories being modified.\r
-commit-access-control.pl "$REPOS" "$TXN" commit-access-control.cfg || exit 1\r
-\r
-# All checks passed, so allow the commit.\r
-exit 0\r
+++ /dev/null
-#!/bin/sh\r
-\r
-# PRE-LOCK HOOK\r
-#\r
-# The pre-lock hook is invoked before an exclusive lock is\r
-# created. Subversion runs this hook by invoking a program \r
-# (script, executable, binary, etc.) named 'pre-lock' (for which\r
-# this file is a template), with the following ordered arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] PATH (the path in the repository about to be locked)\r
-# [3] USER (the user creating the lock)\r
-# [4] COMMENT (the comment of the lock)\r
-# [5] STEAL-LOCK (1 if the user is trying to steal the lock, else 0)\r
-#\r
-# If the hook program outputs anything on stdout, the output string will\r
-# be used as the lock token for this lock operation. If you choose to use\r
-# this feature, you must guarantee the tokens generated are unique across\r
-# the repository each time.\r
-#\r
-# The default working directory for the invocation is undefined, so\r
-# the program should set one explicitly if it cares.\r
-#\r
-# If the hook program exits with success, the lock is created; but\r
-# if it exits with failure (non-zero), the lock action is aborted\r
-# and STDERR is returned to the client.\r
-\r
-# On a Unix system, the normal procedure is to have 'pre-lock'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# Note that 'pre-lock' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'pre-lock.bat' or 'pre-lock.exe',\r
-# but the basic idea is the same.\r
-#\r
-# Here is an example hook script, for a Unix /bin/sh interpreter:\r
-\r
-REPOS="$1"\r
-PATH="$2"\r
-USER="$3"\r
-\r
-# If a lock exists and is owned by a different person, don't allow it\r
-# to be stolen (e.g., with 'svn lock --force ...').\r
-\r
-# (Maybe this script could send email to the lock owner?)\r
-SVNLOOK=/usr/local/bin/svnlook\r
-GREP=/bin/grep\r
-SED=/bin/sed\r
-\r
-LOCK_OWNER=`$SVNLOOK lock "$REPOS" "$PATH" | \\r
- $GREP '^Owner: ' | $SED 's/Owner: //'`\r
-\r
-# If we get no result from svnlook, there's no lock, allow the lock to\r
-# happen:\r
-if [ "$LOCK_OWNER" = "" ]; then\r
- exit 0\r
-fi\r
-\r
-# If the person locking matches the lock's owner, allow the lock to\r
-# happen:\r
-if [ "$LOCK_OWNER" = "$USER" ]; then\r
- exit 0\r
-fi\r
-\r
-# Otherwise, we've got an owner mismatch, so return failure:\r
-echo "Error: $PATH already locked by ${LOCK_OWNER}." 1>&2\r
-exit 1\r
+++ /dev/null
-#!/bin/sh\r
-\r
-# PRE-REVPROP-CHANGE HOOK\r
-#\r
-# The pre-revprop-change hook is invoked before a revision property\r
-# is added, modified or deleted. Subversion runs this hook by invoking\r
-# a program (script, executable, binary, etc.) named 'pre-revprop-change'\r
-# (for which this file is a template), with the following ordered\r
-# arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] REVISION (the revision being tweaked)\r
-# [3] USER (the username of the person tweaking the property)\r
-# [4] PROPNAME (the property being set on the revision)\r
-# [5] ACTION (the property is being 'A'dded, 'M'odified, or 'D'eleted)\r
-#\r
-# [STDIN] PROPVAL ** the new property value is passed via STDIN.\r
-#\r
-# If the hook program exits with success, the propchange happens; but\r
-# if it exits with failure (non-zero), the propchange doesn't happen.\r
-# The hook program can use the 'svnlook' utility to examine the \r
-# existing value of the revision property.\r
-#\r
-# WARNING: unlike other hooks, this hook MUST exist for revision\r
-# properties to be changed. If the hook does not exist, Subversion \r
-# will behave as if the hook were present, but failed. The reason\r
-# for this is that revision properties are UNVERSIONED, meaning that\r
-# a successful propchange is destructive; the old value is gone\r
-# forever. We recommend the hook back up the old value somewhere.\r
-#\r
-# On a Unix system, the normal procedure is to have 'pre-revprop-change'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# Note that 'pre-revprop-change' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'pre-revprop-change.bat' or 'pre-revprop-change.exe',\r
-# but the basic idea is the same.\r
-#\r
-# The hook program typically does not inherit the environment of\r
-# its parent process. For example, a common problem is for the\r
-# PATH environment variable to not be set to its usual value, so\r
-# that subprograms fail to launch unless invoked via absolute path.\r
-# If you're having unexpected problems with a hook program, the\r
-# culprit may be unusual (or missing) environment variables.\r
-# \r
-# Here is an example hook script, for a Unix /bin/sh interpreter.\r
-# For more examples and pre-written hooks, see those in\r
-# the Subversion repository at\r
-# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and\r
-# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/\r
-\r
-\r
-REPOS="$1"\r
-REV="$2"\r
-USER="$3"\r
-PROPNAME="$4"\r
-ACTION="$5"\r
-\r
-if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi\r
-\r
-echo "Changing revision properties other than svn:log is prohibited" >&2\r
-exit 1\r
+++ /dev/null
-#!/bin/sh\r
-\r
-# PRE-UNLOCK HOOK\r
-#\r
-# The pre-unlock hook is invoked before an exclusive lock is\r
-# destroyed. Subversion runs this hook by invoking a program \r
-# (script, executable, binary, etc.) named 'pre-unlock' (for which\r
-# this file is a template), with the following ordered arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] PATH (the path in the repository about to be unlocked)\r
-# [3] USER (the user destroying the lock)\r
-# [4] TOKEN (the lock token to be destroyed)\r
-# [5] BREAK-UNLOCK (1 if the user is breaking the lock, else 0)\r
-#\r
-# The default working directory for the invocation is undefined, so\r
-# the program should set one explicitly if it cares.\r
-#\r
-# If the hook program exits with success, the lock is destroyed; but\r
-# if it exits with failure (non-zero), the unlock action is aborted\r
-# and STDERR is returned to the client.\r
-\r
-# On a Unix system, the normal procedure is to have 'pre-unlock'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# Note that 'pre-unlock' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'pre-unlock.bat' or 'pre-unlock.exe',\r
-# but the basic idea is the same.\r
-#\r
-# Here is an example hook script, for a Unix /bin/sh interpreter:\r
-\r
-REPOS="$1"\r
-PATH="$2"\r
-USER="$3"\r
-\r
-# If a lock is owned by a different person, don't allow it be broken.\r
-# (Maybe this script could send email to the lock owner?)\r
-\r
-SVNLOOK=/usr/local/bin/svnlook\r
-GREP=/bin/grep\r
-SED=/bin/sed\r
-\r
-LOCK_OWNER=`$SVNLOOK lock "$REPOS" "$PATH" | \\r
- $GREP '^Owner: ' | $SED 's/Owner: //'`\r
-\r
-# If we get no result from svnlook, there's no lock, return success:\r
-if [ "$LOCK_OWNER" = "" ]; then\r
- exit 0\r
-fi\r
-\r
-# If the person unlocking matches the lock's owner, return success:\r
-if [ "$LOCK_OWNER" = "$USER" ]; then\r
- exit 0\r
-fi\r
-\r
-# Otherwise, we've got an owner mismatch, so return failure:\r
-echo "Error: $PATH locked by ${LOCK_OWNER}." 1>&2\r
-exit 1\r
+++ /dev/null
-#!/bin/sh\r
-\r
-# START-COMMIT HOOK\r
-#\r
-# The start-commit hook is invoked before a Subversion txn is created\r
-# in the process of doing a commit. Subversion runs this hook\r
-# by invoking a program (script, executable, binary, etc.) named\r
-# 'start-commit' (for which this file is a template)\r
-# with the following ordered arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] USER (the authenticated user attempting to commit)\r
-# [3] CAPABILITIES (a colon-separated list of capabilities reported\r
-# by the client; see note below)\r
-#\r
-# Note: The CAPABILITIES parameter is new in Subversion 1.5, and 1.5\r
-# clients will typically report at least the "mergeinfo" capability.\r
-# If there are other capabilities, then the list is colon-separated,\r
-# e.g.: "mergeinfo:some-other-capability" (the order is undefined).\r
-#\r
-# The list is self-reported by the client. Therefore, you should not\r
-# make security assumptions based on the capabilities list, nor should\r
-# you assume that clients reliably report every capability they have.\r
-#\r
-# The working directory for this hook program's invocation is undefined,\r
-# so the program should set one explicitly if it cares.\r
-#\r
-# If the hook program exits with success, the commit continues; but\r
-# if it exits with failure (non-zero), the commit is stopped before\r
-# a Subversion txn is created, and STDERR is returned to the client.\r
-#\r
-# On a Unix system, the normal procedure is to have 'start-commit'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# Note that 'start-commit' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'start-commit.bat' or 'start-commit.exe',\r
-# but the basic idea is the same.\r
-# \r
-# The hook program typically does not inherit the environment of\r
-# its parent process. For example, a common problem is for the\r
-# PATH environment variable to not be set to its usual value, so\r
-# that subprograms fail to launch unless invoked via absolute path.\r
-# If you're having unexpected problems with a hook program, the\r
-# culprit may be unusual (or missing) environment variables.\r
-# \r
-# Here is an example hook script, for a Unix /bin/sh interpreter.\r
-# For more examples and pre-written hooks, see those in\r
-# the Subversion repository at\r
-# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and\r
-# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/\r
-\r
-\r
-REPOS="$1"\r
-USER="$2"\r
-\r
-commit-allower.pl --repository "$REPOS" --user "$USER" || exit 1\r
-special-auth-check.py --user "$USER" --auth-level 3 || exit 1\r
-\r
-# All checks passed, so allow the commit.\r
-exit 0\r
+++ /dev/null
-This file is not used by Subversion 1.3.x or later.\r
-However, its existence is required for compatibility with\r
-Subversion 1.2.x or earlier.\r
+++ /dev/null
-This file is not used by Subversion 1.3.x or later.\r
-However, its existence is required for compatibility with\r
-Subversion 1.2.x or earlier.\r
+++ /dev/null
-This is a Subversion repository; use the 'svnadmin' tool to examine\r
-it. Do not add, delete, or modify files here unless you know how\r
-to avoid corrupting the repository.\r
-\r
-Visit http://subversion.tigris.org/ for more information.\r
+++ /dev/null
-### This file is an example authorization file for svnserve.\r
-### Its format is identical to that of mod_authz_svn authorization\r
-### files.\r
-### As shown below each section defines authorizations for the path and\r
-### (optional) repository specified by the section name.\r
-### The authorizations follow. An authorization line can refer to:\r
-### - a single user,\r
-### - a group of users defined in a special [groups] section,\r
-### - an alias defined in a special [aliases] section,\r
-### - all authenticated users, using the '$authenticated' token,\r
-### - only anonymous users, using the '$anonymous' token,\r
-### - anyone, using the '*' wildcard.\r
-###\r
-### A match can be inverted by prefixing the rule with '~'. Rules can\r
-### grant read ('r') access, read-write ('rw') access, or no access\r
-### ('').\r
-\r
-[aliases]\r
-# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average\r
-\r
-[groups]\r
-# harry_and_sally = harry,sally\r
-# harry_sally_and_joe = harry,sally,&joe\r
-\r
-# [/foo/bar]\r
-# harry = rw\r
-# &joe = r\r
-# * =\r
-\r
-# [repository:/baz/fuz]\r
-# @harry_and_sally = rw\r
-# * = r\r
+++ /dev/null
-### This file is an example password file for svnserve.\r
-### Its format is similar to that of svnserve.conf. As shown in the\r
-### example below it contains one section labelled [users].\r
-### The name and password for each user follow, one account per line.\r
-\r
-[users]\r
-# harry = harryssecret\r
-# sally = sallyssecret\r
+++ /dev/null
-### This file controls the configuration of the svnserve daemon, if you\r
-### use it to allow access to this repository. (If you only allow\r
-### access through http: and/or file: URLs, then this file is\r
-### irrelevant.)\r
-\r
-### Visit http://subversion.tigris.org/ for more information.\r
-\r
-[general]\r
-### These options control access to the repository for unauthenticated\r
-### and authenticated users. Valid values are "write", "read",\r
-### and "none". The sample settings below are the defaults.\r
-# anon-access = read\r
-# auth-access = write\r
-### The password-db option controls the location of the password\r
-### database file. Unless you specify a path starting with a /,\r
-### the file's location is relative to the directory containing\r
-### this configuration file.\r
-### If SASL is enabled (see below), this file will NOT be used.\r
-### Uncomment the line below to use the default password file.\r
-# password-db = passwd\r
-### The authz-db option controls the location of the authorization\r
-### rules for path-based access control. Unless you specify a path\r
-### starting with a /, the file's location is relative to the the\r
-### directory containing this file. If you don't specify an\r
-### authz-db, no path-based access control is done.\r
-### Uncomment the line below to use the default authorization file.\r
-# authz-db = authz\r
-### This option specifies the authentication realm of the repository.\r
-### If two repositories have the same authentication realm, they should\r
-### have the same password database, and vice versa. The default realm\r
-### is repository's uuid.\r
-# realm = My First Repository\r
-\r
-[sasl]\r
-### This option specifies whether you want to use the Cyrus SASL\r
-### library for authentication. Default is false.\r
-### This section will be ignored if svnserve is not built with Cyrus\r
-### SASL support; to check, run 'svnserve --version' and look for a line\r
-### reading 'Cyrus SASL authentication is available.'\r
-# use-sasl = true\r
-### These options specify the desired strength of the security layer\r
-### that you want SASL to provide. 0 means no encryption, 1 means\r
-### integrity-checking only, values larger than 1 are correlated\r
-### to the effective key length for encryption (e.g. 128 means 128-bit\r
-### encryption). The values below are the defaults.\r
-# min-encryption = 0\r
-# max-encryption = 256\r
+++ /dev/null
-4
-layout sharded 1000
+++ /dev/null
-### This file controls the configuration of the FSFS filesystem.\r
-\r
-[memcached-servers]\r
-### These options name memcached servers used to cache internal FSFS\r
-### data. See http://www.danga.com/memcached/ for more information on\r
-### memcached. To use memcached with FSFS, run one or more memcached\r
-### servers, and specify each of them as an option like so:\r
-# first-server = 127.0.0.1:11211\r
-# remote-memcached = mymemcached.corp.example.com:11212\r
-### The option name is ignored; the value is of the form HOST:PORT.\r
-### memcached servers can be shared between multiple repositories;\r
-### however, if you do this, you *must* ensure that repositories have\r
-### distinct UUIDs and paths, or else cached data from one repository\r
-### might be used by another accidentally. Note also that memcached has\r
-### no authentication for reads or writes, so you must ensure that your\r
-### memcached servers are only accessible by trusted users.\r
-\r
-[caches]\r
-### When a cache-related error occurs, normally Subversion ignores it\r
-### and continues, logging an error if the server is appropriately\r
-### configured (and ignoring it with file:// access). To make\r
-### Subversion never ignore cache errors, uncomment this line.\r
-# fail-stop = true\r
-\r
-[rep-sharing]\r
-### To conserve space, the filesystem can optionally avoid storing\r
-### duplicate representations. This comes at a slight cost in performace,\r
-### as maintaining a database of shared representations can increase\r
-### commit times. The space savings are dependent upon the size of the\r
-### repository, the number of objects it contains and the amount of\r
-### duplication between them, usually a function of the branching and\r
-### merging process.\r
-###\r
-### The following parameter enables rep-sharing in the repository. It can\r
-### be switched on and off at will, but for best space-saving results\r
-### should be enabled consistently over the life of the repository.\r
-# enable-rep-sharing = false\r
+++ /dev/null
-K 8
-svn:date
-V 27
-2009-10-29T14:40:39.281250Z
-END
+++ /dev/null
-PLAIN
-END
-ENDREP
-id: 0.0.r0/17
-type: dir
-count: 0
-text: 0 0 4 4 2d2977d1c96f487abe4a1e202dd03b4e
-cpath: /
-
-
-17 107
+++ /dev/null
-08ac87bf-ed22-8844-a4e4-74601d66b8de
+++ /dev/null
-#!/bin/sh\r
-\r
-# POST-COMMIT HOOK\r
-#\r
-# The post-commit hook is invoked after a commit. Subversion runs\r
-# this hook by invoking a program (script, executable, binary, etc.)\r
-# named 'post-commit' (for which this file is a template) with the \r
-# following ordered arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] REV (the number of the revision just committed)\r
-#\r
-# The default working directory for the invocation is undefined, so\r
-# the program should set one explicitly if it cares.\r
-#\r
-# Because the commit has already completed and cannot be undone,\r
-# the exit code of the hook program is ignored. The hook program\r
-# can use the 'svnlook' utility to help it examine the\r
-# newly-committed tree.\r
-#\r
-# On a Unix system, the normal procedure is to have 'post-commit'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# Note that 'post-commit' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'post-commit.bat' or 'post-commit.exe',\r
-# but the basic idea is the same.\r
-# \r
-# The hook program typically does not inherit the environment of\r
-# its parent process. For example, a common problem is for the\r
-# PATH environment variable to not be set to its usual value, so\r
-# that subprograms fail to launch unless invoked via absolute path.\r
-# If you're having unexpected problems with a hook program, the\r
-# culprit may be unusual (or missing) environment variables.\r
-# \r
-# Here is an example hook script, for a Unix /bin/sh interpreter.\r
-# For more examples and pre-written hooks, see those in\r
-# the Subversion repository at\r
-# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and\r
-# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/\r
-\r
-\r
-REPOS="$1"\r
-REV="$2"\r
-\r
-mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf\r
+++ /dev/null
-#!/bin/sh\r
-\r
-# POST-LOCK HOOK\r
-#\r
-# The post-lock hook is run after a path is locked. Subversion runs\r
-# this hook by invoking a program (script, executable, binary, etc.)\r
-# named 'post-lock' (for which this file is a template) with the \r
-# following ordered arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] USER (the user who created the lock)\r
-#\r
-# The paths that were just locked are passed to the hook via STDIN (as\r
-# of Subversion 1.2, only one path is passed per invocation, but the\r
-# plan is to pass all locked paths at once, so the hook program\r
-# should be written accordingly).\r
-#\r
-# The default working directory for the invocation is undefined, so\r
-# the program should set one explicitly if it cares.\r
-#\r
-# Because the lock has already been created and cannot be undone,\r
-# the exit code of the hook program is ignored. The hook program\r
-# can use the 'svnlook' utility to help it examine the\r
-# newly-created lock.\r
-#\r
-# On a Unix system, the normal procedure is to have 'post-lock'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# Note that 'post-lock' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'post-lock.bat' or 'post-lock.exe',\r
-# but the basic idea is the same.\r
-# \r
-# Here is an example hook script, for a Unix /bin/sh interpreter:\r
-\r
-REPOS="$1"\r
-USER="$2"\r
-\r
-# Send email to interested parties, let them know a lock was created:\r
-mailer.py lock "$REPOS" "$USER" /path/to/mailer.conf\r
+++ /dev/null
-#!/bin/sh\r
-\r
-# POST-REVPROP-CHANGE HOOK\r
-#\r
-# The post-revprop-change hook is invoked after a revision property\r
-# has been added, modified or deleted. Subversion runs this hook by\r
-# invoking a program (script, executable, binary, etc.) named\r
-# 'post-revprop-change' (for which this file is a template), with the\r
-# following ordered arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] REV (the revision that was tweaked)\r
-# [3] USER (the username of the person tweaking the property)\r
-# [4] PROPNAME (the property that was changed)\r
-# [5] ACTION (the property was 'A'dded, 'M'odified, or 'D'eleted)\r
-#\r
-# [STDIN] PROPVAL ** the old property value is passed via STDIN.\r
-#\r
-# Because the propchange has already completed and cannot be undone,\r
-# the exit code of the hook program is ignored. The hook program\r
-# can use the 'svnlook' utility to help it examine the\r
-# new property value.\r
-#\r
-# On a Unix system, the normal procedure is to have 'post-revprop-change'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# Note that 'post-revprop-change' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'post-revprop-change.bat' or 'post-revprop-change.exe',\r
-# but the basic idea is the same.\r
-# \r
-# The hook program typically does not inherit the environment of\r
-# its parent process. For example, a common problem is for the\r
-# PATH environment variable to not be set to its usual value, so\r
-# that subprograms fail to launch unless invoked via absolute path.\r
-# If you're having unexpected problems with a hook program, the\r
-# culprit may be unusual (or missing) environment variables.\r
-# \r
-# Here is an example hook script, for a Unix /bin/sh interpreter.\r
-# For more examples and pre-written hooks, see those in\r
-# the Subversion repository at\r
-# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and\r
-# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/\r
-\r
-\r
-REPOS="$1"\r
-REV="$2"\r
-USER="$3"\r
-PROPNAME="$4"\r
-ACTION="$5"\r
-\r
-mailer.py propchange2 "$REPOS" "$REV" "$USER" "$PROPNAME" "$ACTION" /path/to/mailer.conf\r
+++ /dev/null
-#!/bin/sh\r
-\r
-# POST-UNLOCK HOOK\r
-#\r
-# The post-unlock hook runs after a path is unlocked. Subversion runs\r
-# this hook by invoking a program (script, executable, binary, etc.)\r
-# named 'post-unlock' (for which this file is a template) with the \r
-# following ordered arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] USER (the user who destroyed the lock)\r
-#\r
-# The paths that were just unlocked are passed to the hook via STDIN\r
-# (as of Subversion 1.2, only one path is passed per invocation, but\r
-# the plan is to pass all unlocked paths at once, so the hook program\r
-# should be written accordingly).\r
-#\r
-# The default working directory for the invocation is undefined, so\r
-# the program should set one explicitly if it cares.\r
-#\r
-# Because the lock has already been destroyed and cannot be undone,\r
-# the exit code of the hook program is ignored.\r
-#\r
-# On a Unix system, the normal procedure is to have 'post-unlock'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# Note that 'post-unlock' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'post-unlock.bat' or 'post-unlock.exe',\r
-# but the basic idea is the same.\r
-# \r
-# Here is an example hook script, for a Unix /bin/sh interpreter:\r
-\r
-REPOS="$1"\r
-USER="$2"\r
-\r
-# Send email to interested parties, let them know a lock was removed:\r
-mailer.py unlock "$REPOS" "$USER" /path/to/mailer.conf\r
+++ /dev/null
-#!/bin/sh\r
-\r
-# PRE-COMMIT HOOK\r
-#\r
-# The pre-commit hook is invoked before a Subversion txn is\r
-# committed. Subversion runs this hook by invoking a program\r
-# (script, executable, binary, etc.) named 'pre-commit' (for which\r
-# this file is a template), with the following ordered arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] TXN-NAME (the name of the txn about to be committed)\r
-#\r
-# [STDIN] LOCK-TOKENS ** the lock tokens are passed via STDIN.\r
-#\r
-# If STDIN contains the line "LOCK-TOKENS:\n" (the "\n" denotes a\r
-# single newline), the lines following it are the lock tokens for\r
-# this commit. The end of the list is marked by a line containing\r
-# only a newline character.\r
-#\r
-# Each lock token line consists of a URI-escaped path, followed\r
-# by the separator character '|', followed by the lock token string,\r
-# followed by a newline.\r
-#\r
-# The default working directory for the invocation is undefined, so\r
-# the program should set one explicitly if it cares.\r
-#\r
-# If the hook program exits with success, the txn is committed; but\r
-# if it exits with failure (non-zero), the txn is aborted, no commit\r
-# takes place, and STDERR is returned to the client. The hook\r
-# program can use the 'svnlook' utility to help it examine the txn.\r
-#\r
-# On a Unix system, the normal procedure is to have 'pre-commit'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# *** NOTE: THE HOOK PROGRAM MUST NOT MODIFY THE TXN, EXCEPT ***\r
-# *** FOR REVISION PROPERTIES (like svn:log or svn:author). ***\r
-#\r
-# This is why we recommend using the read-only 'svnlook' utility.\r
-# In the future, Subversion may enforce the rule that pre-commit\r
-# hooks should not modify the versioned data in txns, or else come\r
-# up with a mechanism to make it safe to do so (by informing the\r
-# committing client of the changes). However, right now neither\r
-# mechanism is implemented, so hook writers just have to be careful.\r
-#\r
-# Note that 'pre-commit' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'pre-commit.bat' or 'pre-commit.exe',\r
-# but the basic idea is the same.\r
-#\r
-# The hook program typically does not inherit the environment of\r
-# its parent process. For example, a common problem is for the\r
-# PATH environment variable to not be set to its usual value, so\r
-# that subprograms fail to launch unless invoked via absolute path.\r
-# If you're having unexpected problems with a hook program, the\r
-# culprit may be unusual (or missing) environment variables.\r
-# \r
-# Here is an example hook script, for a Unix /bin/sh interpreter.\r
-# For more examples and pre-written hooks, see those in\r
-# the Subversion repository at\r
-# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and\r
-# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/\r
-\r
-\r
-REPOS="$1"\r
-TXN="$2"\r
-\r
-# Make sure that the log message contains some text.\r
-SVNLOOK=/usr/local/bin/svnlook\r
-$SVNLOOK log -t "$TXN" "$REPOS" | \\r
- grep "[a-zA-Z0-9]" > /dev/null || exit 1\r
-\r
-# Check that the author of this commit has the rights to perform\r
-# the commit on the files and directories being modified.\r
-commit-access-control.pl "$REPOS" "$TXN" commit-access-control.cfg || exit 1\r
-\r
-# All checks passed, so allow the commit.\r
-exit 0\r
+++ /dev/null
-#!/bin/sh\r
-\r
-# PRE-LOCK HOOK\r
-#\r
-# The pre-lock hook is invoked before an exclusive lock is\r
-# created. Subversion runs this hook by invoking a program \r
-# (script, executable, binary, etc.) named 'pre-lock' (for which\r
-# this file is a template), with the following ordered arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] PATH (the path in the repository about to be locked)\r
-# [3] USER (the user creating the lock)\r
-# [4] COMMENT (the comment of the lock)\r
-# [5] STEAL-LOCK (1 if the user is trying to steal the lock, else 0)\r
-#\r
-# If the hook program outputs anything on stdout, the output string will\r
-# be used as the lock token for this lock operation. If you choose to use\r
-# this feature, you must guarantee the tokens generated are unique across\r
-# the repository each time.\r
-#\r
-# The default working directory for the invocation is undefined, so\r
-# the program should set one explicitly if it cares.\r
-#\r
-# If the hook program exits with success, the lock is created; but\r
-# if it exits with failure (non-zero), the lock action is aborted\r
-# and STDERR is returned to the client.\r
-\r
-# On a Unix system, the normal procedure is to have 'pre-lock'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# Note that 'pre-lock' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'pre-lock.bat' or 'pre-lock.exe',\r
-# but the basic idea is the same.\r
-#\r
-# Here is an example hook script, for a Unix /bin/sh interpreter:\r
-\r
-REPOS="$1"\r
-PATH="$2"\r
-USER="$3"\r
-\r
-# If a lock exists and is owned by a different person, don't allow it\r
-# to be stolen (e.g., with 'svn lock --force ...').\r
-\r
-# (Maybe this script could send email to the lock owner?)\r
-SVNLOOK=/usr/local/bin/svnlook\r
-GREP=/bin/grep\r
-SED=/bin/sed\r
-\r
-LOCK_OWNER=`$SVNLOOK lock "$REPOS" "$PATH" | \\r
- $GREP '^Owner: ' | $SED 's/Owner: //'`\r
-\r
-# If we get no result from svnlook, there's no lock, allow the lock to\r
-# happen:\r
-if [ "$LOCK_OWNER" = "" ]; then\r
- exit 0\r
-fi\r
-\r
-# If the person locking matches the lock's owner, allow the lock to\r
-# happen:\r
-if [ "$LOCK_OWNER" = "$USER" ]; then\r
- exit 0\r
-fi\r
-\r
-# Otherwise, we've got an owner mismatch, so return failure:\r
-echo "Error: $PATH already locked by ${LOCK_OWNER}." 1>&2\r
-exit 1\r
+++ /dev/null
-#!/bin/sh\r
-\r
-# PRE-REVPROP-CHANGE HOOK\r
-#\r
-# The pre-revprop-change hook is invoked before a revision property\r
-# is added, modified or deleted. Subversion runs this hook by invoking\r
-# a program (script, executable, binary, etc.) named 'pre-revprop-change'\r
-# (for which this file is a template), with the following ordered\r
-# arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] REVISION (the revision being tweaked)\r
-# [3] USER (the username of the person tweaking the property)\r
-# [4] PROPNAME (the property being set on the revision)\r
-# [5] ACTION (the property is being 'A'dded, 'M'odified, or 'D'eleted)\r
-#\r
-# [STDIN] PROPVAL ** the new property value is passed via STDIN.\r
-#\r
-# If the hook program exits with success, the propchange happens; but\r
-# if it exits with failure (non-zero), the propchange doesn't happen.\r
-# The hook program can use the 'svnlook' utility to examine the \r
-# existing value of the revision property.\r
-#\r
-# WARNING: unlike other hooks, this hook MUST exist for revision\r
-# properties to be changed. If the hook does not exist, Subversion \r
-# will behave as if the hook were present, but failed. The reason\r
-# for this is that revision properties are UNVERSIONED, meaning that\r
-# a successful propchange is destructive; the old value is gone\r
-# forever. We recommend the hook back up the old value somewhere.\r
-#\r
-# On a Unix system, the normal procedure is to have 'pre-revprop-change'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# Note that 'pre-revprop-change' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'pre-revprop-change.bat' or 'pre-revprop-change.exe',\r
-# but the basic idea is the same.\r
-#\r
-# The hook program typically does not inherit the environment of\r
-# its parent process. For example, a common problem is for the\r
-# PATH environment variable to not be set to its usual value, so\r
-# that subprograms fail to launch unless invoked via absolute path.\r
-# If you're having unexpected problems with a hook program, the\r
-# culprit may be unusual (or missing) environment variables.\r
-# \r
-# Here is an example hook script, for a Unix /bin/sh interpreter.\r
-# For more examples and pre-written hooks, see those in\r
-# the Subversion repository at\r
-# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and\r
-# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/\r
-\r
-\r
-REPOS="$1"\r
-REV="$2"\r
-USER="$3"\r
-PROPNAME="$4"\r
-ACTION="$5"\r
-\r
-if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi\r
-\r
-echo "Changing revision properties other than svn:log is prohibited" >&2\r
-exit 1\r
+++ /dev/null
-#!/bin/sh\r
-\r
-# PRE-UNLOCK HOOK\r
-#\r
-# The pre-unlock hook is invoked before an exclusive lock is\r
-# destroyed. Subversion runs this hook by invoking a program \r
-# (script, executable, binary, etc.) named 'pre-unlock' (for which\r
-# this file is a template), with the following ordered arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] PATH (the path in the repository about to be unlocked)\r
-# [3] USER (the user destroying the lock)\r
-# [4] TOKEN (the lock token to be destroyed)\r
-# [5] BREAK-UNLOCK (1 if the user is breaking the lock, else 0)\r
-#\r
-# The default working directory for the invocation is undefined, so\r
-# the program should set one explicitly if it cares.\r
-#\r
-# If the hook program exits with success, the lock is destroyed; but\r
-# if it exits with failure (non-zero), the unlock action is aborted\r
-# and STDERR is returned to the client.\r
-\r
-# On a Unix system, the normal procedure is to have 'pre-unlock'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# Note that 'pre-unlock' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'pre-unlock.bat' or 'pre-unlock.exe',\r
-# but the basic idea is the same.\r
-#\r
-# Here is an example hook script, for a Unix /bin/sh interpreter:\r
-\r
-REPOS="$1"\r
-PATH="$2"\r
-USER="$3"\r
-\r
-# If a lock is owned by a different person, don't allow it be broken.\r
-# (Maybe this script could send email to the lock owner?)\r
-\r
-SVNLOOK=/usr/local/bin/svnlook\r
-GREP=/bin/grep\r
-SED=/bin/sed\r
-\r
-LOCK_OWNER=`$SVNLOOK lock "$REPOS" "$PATH" | \\r
- $GREP '^Owner: ' | $SED 's/Owner: //'`\r
-\r
-# If we get no result from svnlook, there's no lock, return success:\r
-if [ "$LOCK_OWNER" = "" ]; then\r
- exit 0\r
-fi\r
-\r
-# If the person unlocking matches the lock's owner, return success:\r
-if [ "$LOCK_OWNER" = "$USER" ]; then\r
- exit 0\r
-fi\r
-\r
-# Otherwise, we've got an owner mismatch, so return failure:\r
-echo "Error: $PATH locked by ${LOCK_OWNER}." 1>&2\r
-exit 1\r
+++ /dev/null
-#!/bin/sh\r
-\r
-# START-COMMIT HOOK\r
-#\r
-# The start-commit hook is invoked before a Subversion txn is created\r
-# in the process of doing a commit. Subversion runs this hook\r
-# by invoking a program (script, executable, binary, etc.) named\r
-# 'start-commit' (for which this file is a template)\r
-# with the following ordered arguments:\r
-#\r
-# [1] REPOS-PATH (the path to this repository)\r
-# [2] USER (the authenticated user attempting to commit)\r
-# [3] CAPABILITIES (a colon-separated list of capabilities reported\r
-# by the client; see note below)\r
-#\r
-# Note: The CAPABILITIES parameter is new in Subversion 1.5, and 1.5\r
-# clients will typically report at least the "mergeinfo" capability.\r
-# If there are other capabilities, then the list is colon-separated,\r
-# e.g.: "mergeinfo:some-other-capability" (the order is undefined).\r
-#\r
-# The list is self-reported by the client. Therefore, you should not\r
-# make security assumptions based on the capabilities list, nor should\r
-# you assume that clients reliably report every capability they have.\r
-#\r
-# The working directory for this hook program's invocation is undefined,\r
-# so the program should set one explicitly if it cares.\r
-#\r
-# If the hook program exits with success, the commit continues; but\r
-# if it exits with failure (non-zero), the commit is stopped before\r
-# a Subversion txn is created, and STDERR is returned to the client.\r
-#\r
-# On a Unix system, the normal procedure is to have 'start-commit'\r
-# invoke other programs to do the real work, though it may do the\r
-# work itself too.\r
-#\r
-# Note that 'start-commit' must be executable by the user(s) who will\r
-# invoke it (typically the user httpd runs as), and that user must\r
-# have filesystem-level permission to access the repository.\r
-#\r
-# On a Windows system, you should name the hook program\r
-# 'start-commit.bat' or 'start-commit.exe',\r
-# but the basic idea is the same.\r
-# \r
-# The hook program typically does not inherit the environment of\r
-# its parent process. For example, a common problem is for the\r
-# PATH environment variable to not be set to its usual value, so\r
-# that subprograms fail to launch unless invoked via absolute path.\r
-# If you're having unexpected problems with a hook program, the\r
-# culprit may be unusual (or missing) environment variables.\r
-# \r
-# Here is an example hook script, for a Unix /bin/sh interpreter.\r
-# For more examples and pre-written hooks, see those in\r
-# the Subversion repository at\r
-# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and\r
-# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/\r
-\r
-\r
-REPOS="$1"\r
-USER="$2"\r
-\r
-commit-allower.pl --repository "$REPOS" --user "$USER" || exit 1\r
-special-auth-check.py --user "$USER" --auth-level 3 || exit 1\r
-\r
-# All checks passed, so allow the commit.\r
-exit 0\r
+++ /dev/null
-This file is not used by Subversion 1.3.x or later.\r
-However, its existence is required for compatibility with\r
-Subversion 1.2.x or earlier.\r
+++ /dev/null
-This file is not used by Subversion 1.3.x or later.\r
-However, its existence is required for compatibility with\r
-Subversion 1.2.x or earlier.\r