git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 3/5] Teach --quiet to diff backends.

From
Junio C Hamano <junkio@cox.net>
Date
Mar 14, 2007, 21:26 UTC
Message-ID
<7vird37bz9.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<7vwt1j8z0e.fsf@assigned-by-dhcp.cox.net>

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>
---
 diff-lib.c  |    6 ++++++
 tree-diff.c |    2 ++
 2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/diff-lib.c b/diff-lib.c
index f9a1a10..5c5b05b 100644
--- a/diff-lib.c
+++ b/diff-lib.c
@@ -324,6 +324,9 @@ int run_diff_files(struct rev_info *revs, int silent_on_removed)
 		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;
 
@@ -565,6 +568,9 @@ static int diff_cache(struct rev_info *revs,
 		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 c827582..44cde74 100644
--- 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;
-- 
1.5.0.3.1036.g6baf1
Previous: Junio C HamanoNext: Junio C Hamano
Message 21 of 23 in “diff --quick”
  1. 1/2 diff --quickJunio C Hamano, Mar 14, 2007
  2. 1/5 Remove unused diffcore_std_no_resolveJunio C Hamano, Mar 14, 2007
  3. 2/5 diff --quietJunio C Hamano, Mar 14, 2007
  4. Alex RiesenMar 14, 2007
  5. Alex RiesenMar 14, 2007
  6. Junio C HamanoMar 14, 2007
  7. Alex RiesenMar 15, 2007
  8. Alex RiesenMar 14, 2007
  9. Junio C HamanoMar 14, 2007
  10. Linus TorvaldsMar 15, 2007
  11. Junio C HamanoMar 15, 2007
  12. Junio C HamanoMar 15, 2007
  13. Linus TorvaldsMar 15, 2007
  14. Alex RiesenMar 15, 2007
  15. Johannes SchindelinMar 15, 2007
  16. Alex RiesenMar 15, 2007
  17. Johannes SchindelinMar 15, 2007
  18. Alex RiesenMar 15, 2007
  19. Johannes SchindelinMar 15, 2007
  20. Junio C HamanoMar 16, 2007
  21. 3/5 Teach --quiet to diff backends.Junio C Hamano, Mar 14, 2007
  22. 4/5 revision.c: explain what tree_difference doesJunio C Hamano, Mar 14, 2007
  23. 5/5 try-to-simplify-commit: use diff-tree --quiet machinery.Junio C Hamano, Mar 14, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.