summaryrefslogtreecommitdiff
path: root/git-diff-script
diff options
context:
space:
mode:
Diffstat (limited to 'git-diff-script')
-rwxr-xr-xgit-diff-script19
1 files changed, 19 insertions, 0 deletions
diff --git a/git-diff-script b/git-diff-script
new file mode 100755
index 0000000..03ed555
--- /dev/null
+++ b/git-diff-script
@@ -0,0 +1,19 @@
+#!/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