The new workdir is empty before the checkout, so attempts to recurse into a non-existent submodule directory fail. Signed-off-by: Marc Branchaud <marcnarc@xxxxxxxxxxx> --- Changed to use --no-recurse-submodules instead of -c submodule.recurse=false, as Jonathan suggested. M. contrib/workdir/git-new-workdir | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/workdir/git-new-workdir b/contrib/workdir/git-new-workdir index 888c34a521..d88765e73f 100755 --- a/contrib/workdir/git-new-workdir +++ b/contrib/workdir/git-new-workdir @@ -102,4 +102,4 @@ trap - $siglist # checkout the branch (either the same as HEAD from the original repository, # or the one that was asked for) -git checkout -f $branch +git checkout --no-recurse-submodules -f $branch -- 2.20.1.1.gfb6d716d28