cprod.sh



if test $# -lt 2
then
    echo >&2
    echo "\tUsage:  To diff (compare) source between two productlines" >&2
    echo "\tSyntax: $0 xpd1 xpd2" >&2
    echo >&2
    echo "\tEx: cprod tfinsys70 tfinbln702" >&2
    echo >&2
    exit 1
fi

typeset -l pd1
typeset -l pd2
typeset -l xpd1    
typeset -l xpd2

pd1=$1
pd2=$2

if [ ! -d /tmp/cprod ]
then
    mkdir /tmp/cprod
fi

if [ ! -d $LAWDIR/$pd2 ]
then
    if [ -d $LADBDIR/backup/$pd2 ]
    then
        xpd2=$LADBDIR/backup/$pd2
    else
        if [ -d $LAWDIR/backup/$pd2 ]
        then
            xpd2=$LAWDIR/backup/$pd2
        else
            echo "error - cannot find source for $pd2"
            exit 1
        fi
    fi
else
    xpd2=$LAWDIR/$pd2
fi

cd $xpd2

xpd1=$LAWDIR/$pd1
cpd=/tmp/cprod/$pd1.vs.$pd2

echo "*** Compare of $pd1 to $pd2 started `date` ***" >>/tmp/cprod/cprod.log
echo "*** Compare of $pd1 to $pd2 started `date` ***" >$cpd.diff

echo Starting compare

#diff -r -xwork -xobj -xAdmin -xintobj -xiortns $xpd1 $xpd2 >$cpd.tmp1
for file in *
do
    if [ -d "$file" ]
    then
#       echo "diff -aru $xpd1/$file $xpd2/$file >>$cpd.tmp" >>diff.cmd 
        echo "diff -r $xpd1/$file $xpd2/$file >>$cpd.tmp" >>diff.cmd 
    fi
done

grep -v obj diff.cmd >diff.cmd1
grep -v map diff.cmd1 >diff.cmd
grep -v Admin diff.cmd >diff.cmd1
grep -v work diff.cmd1 >diff.cmd
grep -v iortns diff.cmd >diff.cmd1
grep -v sdlib diff.cmd1 >diff.cmd
grep -v rdlib diff.cmd >diff.cmd1
grep -v int diff.cmd1 >diff.cmd
grep -v err diff.cmd1 >diff.cmd
grep -v cbl diff.cmd1 >diff.cmd
grep -v dmp diff.cmd1 >diff.cmd
grep -v core diff.cmd1 >diff.cmd

chmod 777 diff.cmd
$xpd2/diff.cmd

rm diff.cmd
rm diff.cmd1

echo "*******************************************************************" >>$cpd.diff
echo "*** Summary list of files that have changed                        " >>$cpd.diff
echo "*******************************************************************" >>$cpd.diff

grep +++ $cpd.tmp >$cpd.tmp1

#sed 's/diff -r -xwork -xobj -xAdmin -xintobj -xiortns //' $cpd.tmp1 >$cpd.tmp2
#sed 's/Binary files /Binary.file:/' $cpd.tmp2 >$cpd.tmp1
#sed 's/ .*$//' $cpd.tmp1 >$cpd.tmp2

cat $cpd.tmp1 >>$cpd.diff
#rm $cpd.tmp1 $cpd.tmp2

echo "*******************************************************************" >>$cpd.diff
echo "*** List of files that only exist in $pd1 productline        " >>$cpd.diff
echo "*******************************************************************" >>$cpd.diff

grep Only $cpd.tmp >$cpd.tmp1
grep "$pd1" $cpd.tmp1 >$cpd.tmp2

cat $cpd.tmp2 >>$cpd.diff
rm $cpd.tmp1 $cpd.tmp2

echo "*******************************************************************" >>$cpd.diff
echo "*** List of files that only exist in $pd2 productline        " >>$cpd.diff
echo "*******************************************************************" >>$cpd.diff

grep Only $cpd.tmp >$cpd.tmp1
grep "$pd2" $cpd.tmp1 >$cpd.tmp2

cat $cpd.tmp2 >>$cpd.diff
rm $cpd.tmp1 $cpd.tmp2

echo "*******************************************************************" >>$cpd.diff
echo "*** Details of ALL differences                                     " >>$cpd.diff
echo "*******************************************************************" >>$cpd.diff

grep -v Only $cpd.tmp >>$cpd.tmp1

sed 's/diff -r -xwork -xobj -xAdmin -xintobj -xint -xiortns /diff of: /' $cpd.tmp1 >$cpd.tmp2

cat $cpd.tmp2 >>$cpd.diff
rm $cpd.tmp1 $cpd.tmp2

rm $cpd.tmp

echo Done

echo "*** Done ***" >>/tmp/cprod/cprod.log