See ChangeLog: Wed Feb 10 17:15:39 CET 1999 Werner Koch
[gnupg.git] / scripts / commit
1 #!/bin/bash
2 # need a Posix shell, so we simply use bash
3
4 set -e
5
6 uid=`id -u`
7 date=`date`
8 name=$(awk -F: "\$3==$uid { print \$5 }" /etc/passwd )
9 addr="<`id -un`@`hostname -d`>"
10
11 for i in `find . -name Changes -print`; do
12     dir=`dirname $i`
13     if [ -s $dir/Changes ]; then
14         lines=`wc -l <$dir/Changes`
15         echo "$date  $name  $addr" >$dir/ChangeLog.new
16         echo >>$dir/ChangeLog.new
17         cat $dir/Changes   >>$dir/ChangeLog.new
18         [ -f $dir/ChangeLog ] && cat $dir/ChangeLog >>$dir/ChangeLog.new
19         echo -n > $dir/Changes
20         [ -f $dir/ChangeLog ] && rm $dir/ChangeLog
21         mv $dir/ChangeLog.new $dir/ChangeLog
22         echo "$lines new lines in $dir/ChangeLog"
23     fi
24 done
25
26 # Execute canned cvs remove commands
27 for i in `find . -name cvs-remove -print`; do
28     dir=`dirname $i`
29     if [ -s $dir/cvs-remove ]; then
30         here=`pwd`
31         cd $dir
32         if cvs remove -f `cat cvs-remove`; then
33             rm cvs-remove
34         fi
35         cd $here
36     fi
37 done
38
39 # Execute canned cvs add commands
40 for i in `find . -name cvs-add -print`; do
41     dir=`dirname $i`
42     if [ -s $dir/cvs-add ]; then
43         here=`pwd`
44         cd $dir
45         if cvs add `cat cvs-add`; then
46             rm cvs-add
47         fi
48         cd $here
49     fi
50 done
51
52 cvs commit -m "See ChangeLog: $date  $name" $*
53