Use the new git-rev-parse "--[no-]flags" in "git diff".
authorLinus Torvalds <torvalds@g5.osdl.org>
Wed, 6 Jul 2005 17:09:58 +0000 (10:09 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 6 Jul 2005 17:09:58 +0000 (10:09 -0700)
This allows you to do

git diff v2.6.12..v2.6.13-rc1 drivers/pcmcia

to see the diff between v2.6.12 and v2.6.13-rc1 as limited by the
filename argument.

git-diff-script

index 673853b9ce3a5200c0085f33d1e41f12cf18eb0c..020816bbf0581ec562f11d92a8b4f8bacb40cca6 100755 (executable)
@@ -1,6 +1,7 @@
 #!/bin/sh
 rev=($(git-rev-parse --revs-only "$@"))
-flags=($(git-rev-parse --no-revs "$@"))
+flags=($(git-rev-parse --no-revs --flags "$@"))
+files=($(git-rev-parse --no-revs --no-flags "$@"))
 case "${#rev[*]}" in
 0)
        git-diff-files -M -p "$@";;
@@ -9,7 +10,7 @@ case "${#rev[*]}" in
 2)
        begin=$(echo "${rev[1]}" | tr -d '^')
        end="${rev[0]}"
-       git-diff-tree -M -p $flags $begin $end;;
+       git-diff-tree -M -p $flags $begin $end $files;;
 *)
        echo "I don't understand"
        exit 1;;