Teach "git diff" to handle filenames starting with '-'
It adds "--" to the git-diff.sh scripts, to keep any filenames that start with a "-" from being confused with an option. But in order to do that, it needs to teach git-diff-files to honor "--". Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
7a3dd472ad
commit
ea51d416c0
@ -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"))
|
||||
|
@ -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 $*"
|
||||
|
Loading…
Reference in New Issue
Block a user