summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 68aacb2)
raw | patch | inline | side by side (parent: 68aacb2)
author | Junio C Hamano <junkio@cox.net> | |
Wed, 14 Mar 2007 18:12:51 +0000 (11:12 -0700) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Wed, 14 Mar 2007 23:21:19 +0000 (16:21 -0700) |
This teaches git-diff-files, git-diff-index and git-diff-tree
backends to exit early under --quiet option.
Signed-off-by: Junio C Hamano <junkio@cox.net>
backends to exit early under --quiet option.
Signed-off-by: Junio C Hamano <junkio@cox.net>
diff-lib.c | patch | blob | history | |
tree-diff.c | patch | blob | history |
diff --git a/diff-lib.c b/diff-lib.c
index f9a1a10cc0319270358d658cd5e83bd5633fbf49..5c5b05bfe32bc90484b5bd6a9c171e0f9b04fbd6 100644 (file)
--- a/diff-lib.c
+++ b/diff-lib.c
struct cache_entry *ce = active_cache[i];
int changed;
+ if (revs->diffopt.quiet && revs->diffopt.has_changes)
+ break;
+
if (!ce_path_match(ce, revs->prune_data))
continue;
struct cache_entry *ce = *ac;
int same = (entries > 1) && ce_same_name(ce, ac[1]);
+ if (revs->diffopt.quiet && revs->diffopt.has_changes)
+ break;
+
if (!ce_path_match(ce, pathspec))
goto skip_entry;
diff --git a/tree-diff.c b/tree-diff.c
index c8275823d0eb976e95b256f2bce5497f45d5da77..44cde74caf20ded9cd196c4e5d16f4d9ba251a22 100644 (file)
--- a/tree-diff.c
+++ b/tree-diff.c
@@ -161,6 +161,8 @@ static void show_entry(struct diff_options *opt, const char *prefix, struct tree
int diff_tree(struct tree_desc *t1, struct tree_desc *t2, const char *base, struct diff_options *opt)
{
while (t1->size | t2->size) {
+ if (opt->quiet && opt->has_changes)
+ break;
if (opt->nr_paths && t1->size && !interesting(t1, base, opt)) {
update_tree_entry(t1);
continue;