#!/bin/bash set -e if [ "$1" = "-batch" ]; then shift interactive=0 elif [ -t 1 ]; then interactive=1 else interactive=0 fi if [ $# -lt 1 -o $# -gt 3 ]; then cat < $arch_dir" tar --directory "$tmpdir" \ --transform 's!^[^/]*!a!' \ --extract --gunzip --file "$archive" echo "Copying git repository: $giturl/$gitbranch -> $git_dir" git archive --format=tar --prefix="b/" --remote="$giturl" "$gitbranch" \ | tar --directory "$tmpdir" --extract --file - fa=from_tgz fb=from_git cd "$tmpdir" sed -n '/^-/{s/^- //;p;}' "$exclude" > ea sed -n '/^+/{s/^+ //;p;}' "$exclude" > eb find a -type f \ | sed 's!^a/!!' \ | grep -E -v -x -f ea \ | sort > "$fa" find b -type f \ | sed 's!^b/!!' \ | grep -E -v -x -f eb \ | sort > "$fb" diffcmd() { diff -u "$fa" "$fb" } colordiff=$(type -p colordiff) colorless() { if [ -n "$colordiff" ]; then "$colordiff" | less -R -F else less -F fi } if [ "$interactive" = "1" ]; then diffcmd | colorless else diffcmd fi