Calvin Wan <calvinwan@xxxxxxxxxx> writes: > submodule.c | 154 +++++++++++++++++++++++++++++ I think the way to implement this is to have a parallel implementation, and then have the serial implementation call the parallel implementation's functions, or have a common set of functions that both the parallel implementation and the serial implementation call. Here, it seems that the parallel implementation exists completely separate from the serial implementation, with no code shared. That makes it both more difficult to review, and also makes it difficult to make changes to how we diff submodules in the future (since we would have to make changes in two parts of the code). I think that the layout of the code will be substantially different if we do that, so I'll hold off on a more thorough review for now.