#!/usr/bin/env bash set -x set -eu # You can't check fifo's in subversion, so we create one here, and remove it later if ! [ -e to-be-saved/im-a-fifo ] then if type mkfifo > /dev/null then mkfifo to-be-saved/im-a-fifo else mknod to-be-saved/im-a-fifo p fi fi for record in $(../../this-interpreter --variety minimal-a; ../../this-interpreter --variety minimal-b) do interp_name=$(echo "$record" | awk -F'%' ' { print $1 }') interp_path=$(echo "$record" | awk -F'%' ' { print $2 }') rm -rf save-dir-$interp_name find $(pwd)/to-be-saved -name .svn -prune -o -print0 | \ ( $interp_path ../../backshift \ --save-directory "save-dir-$interp_name" \ --backup \ --hostname $(hostname) \ --subset test --init-savedir ) backup_id=$( $interp_path ../../backshift --list-backups --save-directory save-dir-$interp_name | \ tail -1 | \ cut -d ' ' -f 1 ) ( $interp_path ../../backshift \ --save-directory "save-dir-$interp_name" \ --backup-id $backup_id \ --list-backup 2>&1 ) | \ sed 's/ */ /g' | \ sort > "backshift.tvf.$interp_name" if type gtar > /dev/null 2>&1 then tar=gtar else tar=tar fi # $(pwd) used for consistency of pathnames find $(pwd)/to-be-saved -name .svn -prune -o -print0 | \ $tar --null --no-recursion --files-from - --create --file - | \ $tar tvf - 2>&1 | \ sed 's/ */ /g' | \ ../old-gtar-timestamps-to-new | \ sort > tar.tvf echo Diffing $interp_name diff -C3 -b tar.tvf backshift.tvf.$interp_name done