Re: [PATCH] fetch: skip on-demand checking when no submodules are configured
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:52:00
Jens Lehmann [off-list ref] writes:
It makes no sense to do the - possibly very expensive - call to "rev-list <new-ref-sha1> --not --all" in check_for_new_submodule_commits() when there aren't any submodules configured. Leave check_for_new_submodule_commits() early when no name <-> path mappings for submodules are found in the configuration. To make that work reading the configuration had to be moved further up in cmd_fetch(), as doing that after the actual fetch of the superproject was too late. Reported-by: Martin Fick <redacted> Signed-off-by: Jens Lehmann <redacted> --- This achieves the first goal: Don't let people pay a performance penalty when they don't even use submodules. On Michael's test repo from [1] the time for a full fetch went down from 142 seconds (current master) to one second which is - not surprisingly - the same as using current master with the --no-recurse-submodules option. Now back to the drawing board to fix the performance regression for those people who are using submodules ... [1] http://comments.gmane.org/gmane.comp.version-control.git/177103
Thanks.