The fix is in the last patch, the first patches are just massaging the code base to make the fix easy. The second patch fixes a bug in the test, which was ineffective at testing. The third patch shows the problem this series addresses, the fourth patch is a little refactoring, which I want to keep separate as I would expect it to be a performance regression[1]. The first patch is unrelated, but improves the readability of submodule test cases, which we'd want to improve further. Thanks, Stefan [1] The performance should improve once we don't use so many processes any more, but that repository series is stalled for now. Stefan Beller (5): t/lib-submodule-update.sh: clarify test t/lib-submodule-update.sh: Fix test ignoring ignored files in submodules t/lib-submodule-update.sh: add new test for submodule internal change unpack-trees: Fix same() for submodules submodule: submodule_move_head omits old argument in forced case submodule.c | 4 +++- t/lib-submodule-update.sh | 16 ++++++++++++++-- unpack-trees.c | 2 ++ 3 files changed, 19 insertions(+), 3 deletions(-) -- 2.15.1.620.gb9897f4670-goog