> The "more naive and stupid way to run them as subprocesses, just > like we do for cURL based transport" was primarily because I thought > it would be easier to get right (as the transport API and interface > has long been established) than hunting down all the callers of > die() and touch all the functions involved in the callchain. I > won't complain or block if a harder-but-more-correct approach is > taken ;-) Well, I was prepared to do the harder approach (as you can see from my first email) but it will be harder not just for the author but also for the reviewer and future readers of the code; now I think that I should try the subprocess way first, especially since there is another part of Git that will do that too (the maintenance prefetch [1]). I'll try that and write back about how it goes. [1] https://lore.kernel.org/git/3165b8916d2d80bf72dac6596a42c871ccd4cbe6.1595527000.git.gitgitgadget@xxxxxxxxx/