зеркало из https://github.com/microsoft/git.git
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 <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
08bb3500a2
Коммит
f26eef302f
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче