svn commit: r365025 - in svnadmin/hooks: . scripts
William Grzybowski
wg at FreeBSD.org
Fri Aug 15 19:12:59 UTC 2014
Author: wg
Date: Fri Aug 15 19:12:58 2014
New Revision: 365025
URL: http://svnweb.freebsd.org/changeset/ports/365025
QAT: https://qat.redports.org/buildarchive/r365025/
Log:
Add a svn hook to disable filenames containing a colon (:).
Phabric: D504
Approved by: portmgr (mat, bdrewery)
Added:
svnadmin/hooks/scripts/detect-filename.sh (contents, props changed)
Modified:
svnadmin/hooks/pre-commit
Modified: svnadmin/hooks/pre-commit
==============================================================================
--- svnadmin/hooks/pre-commit Fri Aug 15 19:09:17 2014 (r365024)
+++ svnadmin/hooks/pre-commit Fri Aug 15 19:12:58 2014 (r365025)
@@ -98,6 +98,9 @@ stage-only.sh "$REPO" "$TXN" || exit 1
# check commits to vulk.xml don't have other files
vulnxml-unique.sh "$REPO" "$TXN" || exit 1
+# check for filenames with invalid chars
+detect-filename.sh "$REPO" "$TXN" || exit 1
+
# check for merge debris
detect-merge-conflicts.sh "$REPO" "$TXN" || exit 1
Added: svnadmin/hooks/scripts/detect-filename.sh
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ svnadmin/hooks/scripts/detect-filename.sh Fri Aug 15 19:12:58 2014 (r365025)
@@ -0,0 +1,30 @@
+#!/bin/sh
+# pre-commit hook to detect files containing not allowed characters
+# $FreeBSD$
+
+REPO=$1
+TXN=$2
+
+SVNLOOK=/usr/local/bin/svnlook
+
+# Check arguments
+if [ -z "$REPO" -o -z "$TXN" ]; then
+ echo "Syntax: $0 path_to_repos txn_id" >&2
+ exit 1
+fi
+
+# Approved by portmgr gets a free pass
+$SVNLOOK log -t "$TXN" "$REPO" | grep -q 'portmgr' && exit 0
+
+# We scan through the transaction diff, looking for files with colon in the name
+if $SVNLOOK changed -t "$TXN" "$REPO" | grep -q -E '^A.*:'; then
+ echo "Some files in your commit have a colon (:) in the name" >&2
+ echo "which is not allowed. Use __ instead of :: for patches ." >&2
+ echo "For further information please read:" >&2
+ echo "http://www.freebsd.org/doc/en/books/porters-handbook/slow-patch.html" >&2
+ echo "Please fix this and try committing again." >&2
+ exit 1
+fi
+
+# No files with invalid chars were detected
+exit 0
More information about the svn-ports-all
mailing list