summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--diff-cache.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/diff-cache.c b/diff-cache.c
index e95fd70..1d355aa 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;