Files
seta75D 2e8a93c394 Init
2021-10-11 18:20:23 -03:00

81 lines
1.4 KiB
Bash

#!/bin/sh
#%Z%%M% %I% %E% SMI
# Description:
# sid_cmp takes two arguments. These two args are names of sidlists.
# If you plan to use the output of this script for input to sid_history
# you must put the oldest sidlist as arg1 and the newer sidlists as arg2.
#
# For example:
# sid_cmp 4.1.1_ALPHA1.1.SID 4.1.1_BETA1.0.SID
# Constants:
PATH=/usr/release/bin:/usr/ucb:/usr/bin:/usr/etc:/usr/local/bin:/usr/sccs
USAGE="usage: $0 <oldsidlist> <newsidlist>"
export PATH
diffoutput=/tmp/siddiffs
# Functions:
QUIT () {
rm -f $diffoutput
rm -f /tmp/sidsort1 /tmp/sidsort2
exit $1
}
trap 'echo "`basename $0`: Aborted"; QUIT 1' 1 2 3 15
# Program:
# Make sure 2 args are supplied on the command line
[ $# = 2 ] || {
echo $USAGE
exit 1
}
# Make sure sidlists exist
[ -f $1 ] || {
echo "Error: \"$1\" does not exist"
exit 1
}
[ -f $2 ] || {
echo "Error: \"$2\" does not exist"
exit 1
}
# Remove old temp file
[ -f $diffoutput ] && rm -f $diffoutput
# Sort'em before diff'in um
sort $1 > /tmp/sidsort1
sort $2 > /tmp/sidsort2
diff /tmp/sidsort1 /tmp/sidsort2 > $diffoutput
files=`awk '/SCCS/{print $2}' $diffoutput | sort -u`
for i in $files
do
file=`echo $i | sed 's@/@\\\/@g'`
awk 'BEGIN{
sid1 = "none"
sid2 = "none"
}
{
if ($0 ~ /< '$file' /)
sid1 = $3
if ($0 ~ /> '$file' /)
sid2 = $3
next
}END{
print sid1" "sid2" '$i'"
}' $diffoutput
done
# Clean up tmp files and exit status 0
QUIT 0