* keygen.c (do_generate_keypair): Write the auth key to the card
[gnupg.git] / scripts / commit
index 18e5400..6bfa0a6 100755 (executable)
@@ -11,18 +11,53 @@ addr="<`id -un`@`hostname -d`>"
 for i in `find . -name Changes -print`; do
     dir=`dirname $i`
     if [ -s $dir/Changes ]; then
-       lines=`wc -l <$dir/Changes`
-       echo "$date  $name  $addr" >$dir/ChangeLog.new
-       echo >>$dir/ChangeLog.new
-       cat $dir/Changes   >>$dir/ChangeLog.new
-       echo >>$dir/ChangeLog.new
-       [ -f $dir/ChangeLog ] && cat $dir/ChangeLog >>$dir/ChangeLog.new
-       echo -n > $dir/Changes
-       [ -f $dir/ChangeLog ] && rm $dir/ChangeLog
-       mv $dir/ChangeLog.new $dir/ChangeLog
-       echo "$lines new lines in $dir/ChangeLog"
+       awk '
+       state == 0 && /^[ \t]*$/  { next }
+       state == 0  { state = 1 }
+       /^[ \t]*$/ { empty++; next }
+                  { while ( empty > 0 ) { print ""; empty--; }; print  }
+       ' < $dir/Changes > $dir/Changes.tmp
+       if [ -s $dir/Changes.tmp ]; then
+           lines=`wc -l <$dir/Changes.tmp`
+           echo "$date  $name  $addr" >$dir/ChangeLog.new
+           echo >>$dir/ChangeLog.new
+           cat $dir/Changes.tmp   >>$dir/ChangeLog.new
+           echo >>$dir/ChangeLog.new
+           [ -f $dir/ChangeLog ] && cat $dir/ChangeLog >>$dir/ChangeLog.new
+           echo -n > $dir/Changes
+           [ -f $dir/ChangeLog ] && rm $dir/ChangeLog
+           mv $dir/ChangeLog.new $dir/ChangeLog
+           echo "$lines new lines in $dir/ChangeLog"
+       fi
+       rm $dir/Changes.tmp || true
     fi
 done
 
-cvs commit -m "See ChangeLog: $date  $name" $*
+# Execute canned cvs remove commands
+for i in `find . -name cvs-remove -print`; do
+    dir=`dirname $i`
+    if [ -s $dir/cvs-remove ]; then
+       here=`pwd`
+       cd $dir
+       if cvs remove -f `cat cvs-remove`; then
+           rm cvs-remove
+       fi
+       cd $here
+    fi
+done
+
+# Execute canned cvs add commands
+for i in `find . -name cvs-add -print`; do
+    dir=`dirname $i`
+    if [ -s $dir/cvs-add ]; then
+       here=`pwd`
+       cd $dir
+       if cvs add `cat cvs-add`; then
+           rm cvs-add
+       fi
+       cd $here
+    fi
+done
+
+cvs -z3 commit -m "See ChangeLog: $date  $name" $*