diff options
authorJeff King <>2016-07-15 10:26:29 (GMT)
committerJunio C Hamano <>2016-07-20 19:09:31 (GMT)
commitf26eef302fc315394d1016eb06360637ac86f62e (patch)
parent08bb3500a2a718c3c78b0547c68601cafa7a8fd9 (diff)
check_everything_connected: always pass --quiet to rev-list
The check_everything_connected function takes a "quiet" parameter which does two things if non-zero: 1. redirect rev-list's stderr to /dev/null to avoid showing errors to the user 2. pass "--quiet" to rev-list Item (1) is obviously useful. But item (2) is surprisingly not. For rev-list, "--quiet" does not have anything to do with chattiness on stderr; it tells rev-list not to bother writing the list of traversed objects to stdout, for efficiency. And since we always redirect rev-list's stdout to /dev/null in this function, there is no point in asking it to ever write anything to stdout. The efficiency gains are modest; a best-of-five run of "git rev-list --objects --all" on linux.git dropped from 32.013s to 30.502s when adding "--quiet". That's only about 5%, but given how easy it is, it's worth doing. Signed-off-by: Jeff King <> Signed-off-by: Junio C Hamano <>
1 files changed, 1 insertions, 2 deletions
diff --git a/connected.c b/connected.c
index bf1b12e..7560a31 100644
--- a/connected.c
+++ b/connected.c
@@ -56,8 +56,7 @@ static int check_everything_connected_real(sha1_iterate_fn fn,
argv[ac++] = "--stdin";
argv[ac++] = "--not";
argv[ac++] = "--all";
- if (quiet)
- argv[ac++] = "--quiet";
+ argv[ac++] = "--quiet";
argv[ac] = NULL;
rev_list.argv = argv;