[PATCH v2 0/5] fetch: Extend --jobs to multiple remotes
- From
Palmer Dabbelt <palmer@sifive.com>
- Date
- Aug 12, 2019, 21:34 UTC
- Message-ID
- <20190812213448.2649-1-palmer@sifive.com>
It seems like the feedback for v1 was fairly positive, so I managed to find some time to go ahead finish it. The result is a much cleaner patch set. I think this could be merged in its current state, but there are a few outstanding concerns I have:
* fetch.jobs isn't documented because I couldn't find any documentation for submodule.fetchjobs so I didn't know where to start writing. * I took the complicated approach and added --submodule-fetch-jobs and --fetch-jobs before converting --jobs over to set both. At the time I thought it wouldn't add too much extra complexity. I wasn't looking closely enough and ended up with a custom parsing function which is a bit ugly.
I'm happy to fix either of these, but I wanted to send out the v2 before going any farther because I wasn't sure if --jobs would be converted over right away or if there was going to be a deprecation period. I've written the patch set such that the final patch can easily be dropped to avoid changing existing behavior.
I'm also happy to re-spin this to just make --jobs control remotes and drop the --fetch-jobs and --submodule-fetch-jobs arguments, which would make the patch set somewhat simpler but preclude a deprecation period.
Changes since v1 <20190717015903.4384-1-palmer@sifive.com>:
* fetch_multiple() has been rewritten to use run_processes_parallel_tr2() rather than manage children on its own. * The --fetch-jobs argument has been added. * The --jobs arugemnt has been used, instead of the --parallel argument.