]>
Commit | Line | Data |
---|---|---|
940c1bb0 | 1 | #!/bin/sh |
0a5a9ea4 JH |
2 | # |
3 | # Copyright (c) 2005 Linus Torvalds | |
4 | # Copyright (c) 2005 Junio C Hamano | |
5 | ||
6 | rev=$(git-rev-parse --revs-only --no-flags --sq "$@") || exit | |
7 | flags=$(git-rev-parse --no-revs --flags --sq "$@") | |
8 | files=$(git-rev-parse --no-revs --no-flags --sq "$@") | |
9 | ||
10 | : ${flags:="'-M' '-p'"} | |
11 | ||
12 | case "$rev" in | |
13 | ?*' '?*' '?*) | |
14 | die "I don't understand" | |
15 | ;; | |
16 | ?*' '^?*) | |
17 | begin=$(expr "$rev" : '.*^.\([0-9a-f]*\).*') && | |
18 | end=$(expr "$rev" : '.\([0-9a-f]*\). .*') || exit | |
19 | cmd="git-diff-tree $flags $begin $end $files" | |
20 | ;; | |
21 | ?*' '?*) | |
22 | cmd="git-diff-tree $flags $rev $files" | |
23 | ;; | |
24 | ?*' ') | |
25 | cmd="git-diff-cache $flags $rev $files" | |
26 | ;; | |
27 | '') | |
28 | cmd="git-diff-files $flags $files" | |
29 | ;; | |
940c1bb0 | 30 | *) |
0a5a9ea4 JH |
31 | die "I don't understand $*" |
32 | ;; | |
940c1bb0 | 33 | esac |
0a5a9ea4 JH |
34 | |
35 | eval "$cmd" |