Skip to content
Snippets Groups Projects
cvsdiffclient 1.36 KiB
Newer Older
#!/bin/bash
# Put this script and cvs-modified-files.pl into your PATH (~bin is good) and 
#
# export CVSEDITOR=cvsdiffclient
#
# in your .bashrc and you will get a nice bunch of CVS commit reminders:
# <merge/land tag information>
# b=<bug_number>
# r=<reviewed by>
#
# Remember to remove the leading "CVS: " part of the comment before saving
# your commit comment if you want those entries to be saved.

[ -f .mergeinfo ] && . ./.mergeinfo

FILES=`cvs-modified-files.pl $1`
TMP=`mktemp /tmp/cvslog-XXXXXXXX`
if [ -f $TMP ]; then
	[ -f .mergeinfo ] && . .mergeinfo
	[ -z "$PARENT" -a -f lustre/.mergeinfo ] && . lustre/.mergeinfo
	if [ "$PARENT" ]; then
		[ "$OPERATION" ] || OPERATION=Update
		[ "$OPERWHERE" ] || OPERWHERE=from
		echo "CVS: $OPERATION $child $OPERWHERE $parent ($date)" >> $TMP
	else
		[ -r CVS/Tag ] && TAG=CVS/Tag
		[ -z "$TAG" -a -r lustre/CVS/Tag ] && TAG=lustre/CVS/Tag
		echo "CVS: Branch: `sed 's/^T//' $TAG`" >> $TMP
	fi
	echo "CVS: did you update the ChangeLog for a bug fix?" >> $TMP
	echo "CVS: did you update the hours spent in Bugzilla?" >> $TMP
	echo "CVS: b=<bug>" >> $TMP
	echo "CVS: r=<reviewed_by>" >> $TMP

	cat $1 >> $TMP
	cp $TMP $1
	rm $TMP
fi

if [ "${FILES:+have_files}"x = have_filesx ]; then
  echo Diffing $1 : $FILES
  cvs diff -wbBup $FILES 2>/dev/null | sed "s/^/CVS: /" >>$1
fi
#gnuclient $1 || vi $1
[ "$EDITOR" ] || EDITOR=vi

$EDITOR $1