mbox series

[v2,0/1] fetch --multiple: respect --jobs=

Message ID pull.369.v2.git.gitgitgadget@gmail.com (mailing list archive)
Headers show
Series fetch --multiple: respect --jobs= | expand

Message

John Passaro via GitGitGadget Oct. 5, 2019, 6:46 p.m. UTC
I saw with sadness that pd/fetch-jobs went nowhere, and read in the most
recent What's Cooking mail that it was even dropped.

This is my attempt to resurrect the idea (although without the overhead of
trying to support a first-class UI to control submodule and multiple-remote
fetches independently, of which I was a rather outspoken opponent).

To make things a bit safer, this patch uses the --end-of-options marker, and
is therefore based on top of jk/eoo.

Changes since v1:

 * The regression test now passes even under GETTEXT_POISON.
 * The needles used in the regression test are now more indicative of the
   code producing them.

Johannes Schindelin (1):
  fetch: let --jobs=<n> parallelize --multiple, too

 Documentation/config/fetch.txt  |  10 +++
 Documentation/fetch-options.txt |  13 ++--
 builtin/fetch.c                 | 124 +++++++++++++++++++++++++++-----
 t/t5514-fetch-multiple.sh       |  11 +++
 4 files changed, 137 insertions(+), 21 deletions(-)


base-commit: 67feca3b1c45a51b204253039139b46cc07e145f
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-369%2Fdscho%2Ffetch-jobs-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-369/dscho/fetch-jobs-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/369

Range-diff vs v1:

 1:  818936f1e0 ! 1:  93a155a000 fetch: let --jobs=<n> parallelize --multiple, too
     @@ -267,9 +267,9 @@
      +
      +	test_must_fail env GIT_TRACE="$PWD/trace" \
      +		git fetch --jobs=2 --multiple one two 2>err &&
     -+	grep "2 tasks" trace &&
     -+	grep "one.*128" err &&
     -+	grep "two.*128" err
     ++	grep "preparing to run up to 2 tasks" trace &&
     ++	test_i18ngrep "could not fetch .one.*128" err &&
     ++	test_i18ngrep "could not fetch .two.*128" err
      +'
      +
       test_done