This series build on top of origin/sb/submodule-helper. The first patch is a fixup to the last commit in the target branch to fix a memory leak. The patch is not really part of the series, but as I chose to build on top of that series I can fix it up as we go. The patch 2 adds a new API to easily use a threaded work pool. patch 3 adds the command `submodule foreach_parallel` (completely untested, RFC!) which was the original goal of this series. But oh well, I got tricked by Peff to prove how awesome the new API for parallel threading is, so that's shown off in patches 4 and 5. Note: Both patch 4 and 5 delete more lines of code than they add, improving readability a lot as you can focus on the actual task and not on the threading stuff. Any feedback welcome! Thanks, Stefan Stefan Beller (5): FIXUP submodule: implement `module_clone` as a builtin helper thread-utils: add a threaded task queue submodule: helper to run foreach in parallel index-pack: Use the new worker pool pack-objects: Use new worker pool builtin/index-pack.c | 71 ++++++------- builtin/pack-objects.c | 175 +++++++++++--------------------- builtin/submodule--helper.c | 159 +++++++++++++++++++++++++++-- git-submodule.sh | 9 ++ run-command.c | 29 +++--- thread-utils.c | 237 ++++++++++++++++++++++++++++++++++++++++++++ thread-utils.h | 40 ++++++++ 7 files changed, 545 insertions(+), 175 deletions(-) -- 2.5.0.400.gff86faf -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html