Linus Torvalds | 940c1bb | 2005-06-13 15:09:34 -0700 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | rev=($(git-rev-parse --revs-only "$@")) |
Linus Torvalds | 9e9824b | 2005-07-06 10:09:58 -0700 | [diff] [blame] | 3 | flags=($(git-rev-parse --no-revs --flags "$@")) |
| 4 | files=($(git-rev-parse --no-revs --no-flags "$@")) |
Linus Torvalds | 940c1bb | 2005-06-13 15:09:34 -0700 | [diff] [blame] | 5 | case "${#rev[*]}" in |
| 6 | 0) |
Linus Torvalds | 753fd78 | 2005-06-17 15:34:19 -0700 | [diff] [blame] | 7 | git-diff-files -M -p "$@";; |
Linus Torvalds | 940c1bb | 2005-06-13 15:09:34 -0700 | [diff] [blame] | 8 | 1) |
Linus Torvalds | 753fd78 | 2005-06-17 15:34:19 -0700 | [diff] [blame] | 9 | git-diff-cache -M -p "$@";; |
Linus Torvalds | 940c1bb | 2005-06-13 15:09:34 -0700 | [diff] [blame] | 10 | 2) |
| 11 | begin=$(echo "${rev[1]}" | tr -d '^') |
| 12 | end="${rev[0]}" |
Linus Torvalds | 9e9824b | 2005-07-06 10:09:58 -0700 | [diff] [blame] | 13 | git-diff-tree -M -p $flags $begin $end $files;; |
Linus Torvalds | 940c1bb | 2005-06-13 15:09:34 -0700 | [diff] [blame] | 14 | *) |
| 15 | echo "I don't understand" |
| 16 | exit 1;; |
| 17 | esac |