aboutsummaryrefslogtreecommitdiffstats
path: root/CVSROOT/commitcheck
blob: 4e3b9598914f0e61d997dad571094998eca277a2 (plain) (blame)
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
#! /bin/sh
#
# $Id: commitcheck,v 1.6 1997/05/21 15:58:59 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

#
# 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!