Glen Choo <chooglen@xxxxxxxxxx> writes: > test_expect_success "'--recurse-submodules=on-demand' doesn't recurse when no new commits are fetched in the superproject (and ignores config)" ' > - add_upstream_commit && > - ( > - cd submodule && > - ( > - cd subdir/deepsubmodule && > - git fetch && > - git checkout -q FETCH_HEAD > - ) && > - git add subdir/deepsubmodule && > - git commit -m "new deepsubmodule" && > - new_head=$(git rev-parse --short HEAD) && > - check_sub $new_head > - ) && > + add_submodule_commits && > ( > cd downstream && > git config fetch.recurseSubmodules true && The deletion of the block in which we updated submodule/subdir/deepsubmodule and submodule was a cause for concern, but now I think it's fine - add_upstream_commit already adds a commit in the submodule that would be fetched if we were to recurse into it. But since we are not recursing when no new commits are fetched in the superproject, we just have to detect that the commit added in add_upstream_commit wasn't fetched. OK - patches up to and including this one look good.