diff --git a/diff-files.c b/diff-files.c index 8a8f9b6dc7..17899390b8 100644 --- a/diff-files.c +++ b/diff-files.c @@ -41,6 +41,11 @@ int main(int argc, const char **argv) git_config(git_default_config); diff_setup(&diff_options); while (1 < argc && argv[1][0] == '-') { + if (!strcmp(argv[1], "--")) { + argv++; + argc--; + break; + } if (!strcmp(argv[1], "-q")) silent = 1; else if (!strcmp(argv[1], "-r")) diff --git a/git-diff.sh b/git-diff.sh index 84a152af20..b3ec84be69 100755 --- a/git-diff.sh +++ b/git-diff.sh @@ -28,16 +28,16 @@ case "$rev" in ?*' '^?*) begin=$(expr "$rev" : '.*^.\([0-9a-f]*\).*') && end=$(expr "$rev" : '.\([0-9a-f]*\). .*') || exit - cmd="git-diff-tree $flags $begin $end $files" + cmd="git-diff-tree $flags $begin $end -- $files" ;; ?*' '?*) - cmd="git-diff-tree $flags $rev $files" + cmd="git-diff-tree $flags $rev -- $files" ;; ?*' ') - cmd="git-diff-index $flags $rev $files" + cmd="git-diff-index $flags $rev -- $files" ;; '') - cmd="git-diff-files $flags $files" + cmd="git-diff-files $flags -- $files" ;; *) die "I don't understand $*"