#! /bin/bash

commits="A B C D E F G H I J K L M"

GIT=../../bin-wrappers/git

intersect() {
    comm -1 -2 \
        <($GIT rev-list --first-parent $1..$2 | sort) \
        <($GIT rev-list --ancestry-path $1..$2 | sort)
}

delta() {
    opt=$1
    shift
    diff $opt \
        <($GIT rev-list --first-parent --ancestry-path $1..$2 | sort) \
        <(intersect $1 $2)
}

for a in $commits
do
    for b in $commits
    do
	if ! delta -q $a $b >/dev/null
	then
            echo "$a..$b differ!"
            delta -y $a $b
        fi
    done
done

