diff --git a/revision.c b/revision.c
index dbd54da5baec5b5a2320a40a66da24541705e971..f2a9f25fe11f3883281ea5fdd783700056fd5c6e 100644 (file)
--- a/revision.c
+++ b/revision.c
@@ -152,6 +152,7 @@ static struct commit *handle_commit(struct rev_info *revs, struct object *object
if (parse_commit(commit) < 0)
die("unable to parse commit %s", name);
if (flags & UNINTERESTING) {
if (parse_commit(commit) < 0)
die("unable to parse commit %s", name);
if (flags & UNINTERESTING) {
+ commit->object.flags |= UNINTERESTING;
mark_parents_uninteresting(commit);
revs->limited = 1;
}
mark_parents_uninteresting(commit);
revs->limited = 1;
}
@@ -751,17 +752,15 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
arg++;
}
if (get_sha1(arg, sha1) < 0) {
arg++;
}
if (get_sha1(arg, sha1) < 0) {
- struct stat st;
int j;
if (seen_dashdash || local_flags)
die("bad revision '%s'", arg);
/* If we didn't have a "--", all filenames must exist */
int j;
if (seen_dashdash || local_flags)
die("bad revision '%s'", arg);
/* If we didn't have a "--", all filenames must exist */
- for (j = i; j < argc; j++) {
- if (lstat(argv[j], &st) < 0)
- die("'%s': %s", argv[j], strerror(errno));
- }
+ for (j = i; j < argc; j++)
+ verify_filename(revs->prefix, argv[j]);
+
revs->prune_data = get_pathspec(revs->prefix, argv + i);
break;
}
revs->prune_data = get_pathspec(revs->prefix, argv + i);
break;
}
@@ -788,7 +787,8 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
}
if (revs->combine_merges) {
revs->ignore_merges = 0;
}
if (revs->combine_merges) {
revs->ignore_merges = 0;
- if (revs->dense_combined_merges)
+ if (revs->dense_combined_merges &&
+ (revs->diffopt.output_format != DIFF_FORMAT_DIFFSTAT))
revs->diffopt.output_format = DIFF_FORMAT_PATCH;
}
revs->diffopt.abbrev = revs->abbrev;
revs->diffopt.output_format = DIFF_FORMAT_PATCH;
}
revs->diffopt.abbrev = revs->abbrev;