v2: * squashed the test patch and the bugfix, rewriting the commit message entirely. This might not the way Jonathan imagined how I address the potential user confusion[1], but I think it does the job. [1] https://public-inbox.org/git/20171220000148.GJ240141@xxxxxxxxxxxxxxxxxxxxxxxxx/ v1: 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 (4): t/lib-submodule-update.sh: clarify test t/lib-submodule-update.sh: Fix test ignoring ignored files in submodules 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