From: Jonas Fonseca Date: Mon, 06 Jun 2005 21:27:00 GMT Subject: [PATCH] git-diff-cache: handle pathspec beginning with a dash Message-ID: <20050606212700.GA3498@diku.dk> Parse everything after '--' as tree name or pathspec. Signed-off-by: Jonas Fonseca --- diff-cache.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/diff-cache.c b/diff-cache.c --- 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; -- Jonas Fonseca