summaryrefslogtreecommitdiffstats
path: root/CVSROOT/commitcheck
blob: 85f1392f053d53d0ff1e1fbf25adbbdef519595f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#! /bin/sh
#
# $Id: commitcheck,v 1.9 1999/01/25 01:28:13 peter Exp $

#
# BEWARE:  If you are "borrowing" this code for use on another cvs
# repository, please make sure you change all references to '@FreeBSD.org'
# in the log_accum script.  Otherwise your commit messages will be sent
# to 'cvs-committers@freebsd.org' etc.  This could be highly embarresing. :-)
#
case "`hostname | tr A-Z a-z`" in
freefall.freebsd.org)
	:
	;;
*)
	echo "Please commit on freefall...."
	exit 1
esac

#
# Sanity check to make sure we've been run through the wrapper and are now
# primary group 'ncvs'.
#
GRP=`/usr/bin/id -gn`
if [ "x$GRP" != "xncvs" ]; then
	echo "You do not have group ncvs!"
	exit 1
fi

#
# Ensure the minimum version of cvs is installed.
#
VERS=`/usr/bin/cvs -v | awk '$1 == "Concurrent" { print $5 }' | awk -F. '{printf "%d%02d%02d\n",$1,$2,$3}'`
if [ "x${VERS}" = "x" -o ${VERS} -lt 10909 ]; then
	echo "The wrong version of CVS is installed!" 1>&2
	exit 1
fi


#
# Does the access control list allow them commit access?
#
if $CVSROOT/CVSROOT/cvs_acls.pl ${1+"$@"}
then
	:	# OK
else
	echo "Access control checks failed! (cvs_acls.pl)" 1>&2
	exit 1
fi

#
# Last minute checks and preperations for log_accum.pl later.  This
# records the last directory in this commit so that log_accum knows when
# to finish coalescing commit messages and mail it.
#
if $CVSROOT/CVSROOT/commit_prep.pl ${1+"$@"}
then
	:	# OK
else
	echo "commit_prep.pl failed!" 1>&2
	exit 1
fi

exit 0		# Lets do it!
OpenPOWER on IntegriCloud