Show pre-receive-stable stopping following commands if used via a shim.
[git-central.git] / server / pre-receive-stable
1 #!/bin/sh
2
3 while read oldrev newrev refname ; do
4         if expr "$oldrev" : '0*$' >/dev/null ; then
5                 exit 0
6         fi
7
8         if [ "$refname" != "refs/heads/stable" ] ; then
9                 exit 0
10         fi
11
12         count=$(git rev-parse --not --branches | grep -v $(git rev-parse $refname) | git rev-list --stdin $oldrev..$newrev | wc -l)
13         if [ "$count" -ne "0" ] ; then
14                 newname=$(git rev-parse "$newrev")
15                 echo "----------------------------------------------------"
16                 echo
17                 echo "Moving stable to $newname includes a new commit"
18                 echo
19                 echo "----------------------------------------------------"
20                 exit 1
21         fi
22 done
23
24