diff --git a/revision.c b/revision.c
index 7d32a89b0eca858113829e9219e80ff15e66e953..c193c3ea229be39472cc1f569632b0adc1a7e5d9 100644 (file)
--- a/revision.c
+++ b/revision.c
@@ -896,7 +896,8 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
continue;
argv[i] = NULL;
argc = i;
- revs->prune_data = get_pathspec(revs->prefix, argv + i + 1);
+ if (argv[i + 1])
+ revs->prune_data = get_pathspec(revs->prefix, argv + i + 1);
seen_dashdash = 1;
break;
}
@@ -1277,6 +1278,9 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
compile_grep_patterns(revs->grep_filter);
}
+ if (revs->reverse && revs->reflog_info)
+ die("cannot combine --reverse with --walk-reflogs");
+
return left;
}