1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-11 23:53:12 +00:00

Refactor dump diff script.

This commit is contained in:
Lars Brinkhoff 2023-10-27 13:10:00 +02:00
parent efcc6b5690
commit 7c7d0dcd3c

View File

@ -12,59 +12,66 @@ absolute() {
esac
}
extract() {
dir="$1"
tape="$2"
pwd="$PWD"
mkdir "$dir"
cd "$dir"
itstar xf "$tape"
rm -- */_file_.\(dir\) */m_f_d_.\(file\)
cd "$pwd"
}
tape1="`absolute $1`"
tape2="`absolute $2`"
home="$PWD"
tmp="$PWD/tmp.$$"
diffs="$tmp/diffs"
trap cleanup EXIT INT TERM QUIT
mkdir "$tmp"
cd "$tmp"
mkdir tape1
cd tape1
itstar xf "$tape1"
rm -- */_file_.\(dir\) */m_f_d_.\(file\)
cd "$tmp"
mkdir tape2
cd tape2
itstar xf "$tape2"
rm -- */_file_.\(dir\) */m_f_d_.\(file\)
cd "$tmp"
rm "$home/diffs"
extract tape1 "$tape1"
extract tape2 "$tape2"
rm -f "$diffs"
output() {
echo "$1: $2"
echo "$2" >> "$home/diffs"
echo "$2" >> "$diffs"
}
diff_file() {
file="$1"
if test -L "$file"; then
if test -L "../tape1/$file"; then
l1=`readlink "../tape1/$file"`
l2=`readlink "$file"`
nfile="$1"
ofile="../tape1/$1"
if test -L "$nfile"; then
if test -L "$ofile"; then
l1=`readlink "$ofile"`
l2=`readlink "$nfile"`
if test "$l1" \!= "$l2"; then
output "UPDATED LINK" "$file"
output "UPDATED LINK" "$nfile"
fi
else
output "NEW LINK" "$file"
output "NEW LINK" "$nfile"
fi
elif test -f "../tape1/$file"; then
if cmp -- "$file" "../tape1/$file" > /dev/null; then
elif test -f "$ofile"; then
if cmp -- "$nfile" "$ofile" > /dev/null; then
:
else
dis10 "$file" 2> /dev/null | grep -v -e 'Creation time:' -e 'Symbol ' -e '^[0-7][0-7][0-7] [0-7]' > "$tmp/TMP1"
dis10 "../tape1/$file" 2> /dev/null | grep -v -e 'Creation time:' -e 'Symbol ' -e '^[0-7][0-7][0-7] [0-7]' > "$tmp/TMP2"
dis10 "$nfile" 2> /dev/null | grep -v -e 'Creation time:' -e 'Symbol ' -e '^[0-7][0-7][0-7] [0-7]' > "$tmp/TMP1"
dis10 "$ofile" 2> /dev/null | grep -v -e 'Creation time:' -e 'Symbol ' -e '^[0-7][0-7][0-7] [0-7]' > "$tmp/TMP2"
if cmp -- "$tmp/TMP1" "$tmp/TMP2" > /dev/null; then
:
else
output "UPDATED FILE" "$file"
output "UPDATED FILE" "$nfile"
fi
fi
else
output "NEW FILE" "$file"
output "NEW FILE" "$nfile"
fi
}
@ -80,7 +87,9 @@ for dir in *; do
done
cd "$tmp/tape2"
head -1 "$home/diffs" | xargs itstar cvf "$home/diffs.tap"
tail +2 "$home/diffs" | xargs itstar rvf "$home/diffs.tap"
tap="$home/diffs.tap"
head -1 "$diffs" | xargs itstar cvf "$tap"
tail +2 "$diffs" | xargs itstar rvf "$tap"
rm "$diffs"
cd "$home"
rm "$home/diffs"