From e0f0e891c1742c6ae22dbc648a1000ad8655ff34 Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Mon, 6 Jun 2005 23:27:00 +0200 Subject: [PATCH] [PATCH] git-diff-cache: handle pathspec beginning with a dash Parse everything after '--' as tree name or pathspec. Signed-off-by: Jonas Fonseca Signed-off-by: Linus Torvalds --- diff-cache.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/diff-cache.c b/diff-cache.c index e95fd70da..1d355aa02 100644 --- a/diff-cache.c +++ b/diff-cache.c @@ -167,13 +167,14 @@ int main(int argc, const char **argv) void *tree; unsigned long size; int ret; + int allow_options = 1; int i; read_cache(); for (i = 1; i < argc; i++) { const char *arg = argv[i]; - if (*arg != '-') { + if (!allow_options || *arg != '-') { if (tree_name) { pathspec = argv + i; break; @@ -182,6 +183,10 @@ int main(int argc, const char **argv) continue; } + if (!strcmp(arg, "--")) { + allow_options = 0; + continue; + } if (!strcmp(arg, "-r")) { /* We accept the -r flag just to look like git-diff-tree */ continue; -- 2.26.2