#!/bin/sh | |
. git-sh-setup-script || die "Not a git archive" | |
rev=($(git-rev-parse --revs-only "$@")) | |
flags=($(git-rev-parse --no-revs --flags "$@")) | |
files=($(git-rev-parse --no-revs --no-flags "$@")) | |
case "${#rev[*]}" in | |
0) | |
git-diff-files -M -p "$@";; | |
1) | |
git-diff-cache -M -p "$@";; | |
2) | |
begin=$(echo "${rev[1]}" | tr -d '^') | |
end="${rev[0]}" | |
git-diff-tree -M -p $flags $begin $end $files;; | |
*) | |
echo "I don't understand" | |
exit 1;; | |
esac |