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:
parent
efcc6b5690
commit
7c7d0dcd3c
@ -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"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user