summaryrefslogtreecommitdiff
path: root/git-diff-script
diff options
context:
space:
mode:
authorLibravatar Linus Torvalds <torvalds@ppc970.osdl.org>2005-06-13 15:09:34 -0700
committerLibravatar Linus Torvalds <torvalds@ppc970.osdl.org>2005-06-13 15:09:34 -0700
commit940c1bb0181cb20454bf3573134175f86983a0ce (patch)
tree5aa582bf5d5dcca3c7c93b87fb6963c004a240b1 /git-diff-script
parentTeach git-rev-parse about revision-specifying arguments (diff)
downloadtgif-940c1bb0181cb20454bf3573134175f86983a0ce.tar.xz
Add "git diff" script
It's a simple helper that depending on the arguments will either use git-diff-files, git-diff-cache or git-diff-tree.
Diffstat (limited to 'git-diff-script')
-rwxr-xr-xgit-diff-script16
1 files changed, 16 insertions, 0 deletions
diff --git a/git-diff-script b/git-diff-script
new file mode 100755
index 0000000000..d70e8b9f29
--- /dev/null
+++ b/git-diff-script
@@ -0,0 +1,16 @@
+#!/bin/sh
+rev=($(git-rev-parse --revs-only "$@"))
+flags=($(git-rev-parse --no-revs "$@"))
+case "${#rev[*]}" in
+0)
+ git-diff-files -p "$@";;
+1)
+ git-diff-cache -p "$@";;
+2)
+ begin=$(echo "${rev[1]}" | tr -d '^')
+ end="${rev[0]}"
+ git-diff-tree -p $flags $begin $end;;
+*)
+ echo "I don't understand"
+ exit 1;;
+esac