@@ -834,11 +834,20 @@ struct GitInputScheme : InputScheme
834834 options.submodules
835835 ? [&]() {
836836 // Nix < 2.20 used `git checkout` for repos with submodules.
837- runProgram ({.program = " git" , .args = {" init" , tmpDir, " -b" , " master" }});
838- runProgram ({.program = " git" , .args = {" -C" , tmpDir, " remote" , " add" , " origin" , repoDir}});
839- runProgram (
840- {.program = " git" , .args = {" -C" , tmpDir, " fetch" , " --quiet" , " origin" , rev.gitRev ()}});
841- runProgram ({.program = " git" , .args = {" -C" , tmpDir, " checkout" , " --quiet" , rev.gitRev ()}});
837+ StringSink sink; // don't pollute stdout
838+ runProgram2 ({.program = " git" , .args = {" init" , tmpDir, " -b" , " master" }, .standardOut = &sink});
839+ runProgram2 (
840+ {.program = " git" ,
841+ .args = {" -C" , tmpDir, " remote" , " add" , " origin" , repoDir},
842+ .standardOut = &sink});
843+ runProgram2 (
844+ {.program = " git" ,
845+ .args = {" -C" , tmpDir, " fetch" , " --quiet" , " origin" , rev.gitRev ()},
846+ .standardOut = &sink});
847+ runProgram2 (
848+ {.program = " git" ,
849+ .args = {" -C" , tmpDir, " checkout" , " --quiet" , rev.gitRev ()},
850+ .standardOut = &sink});
842851 PathFilter filter = [&](const Path & path) { return baseNameOf (path) != " .git" ; };
843852 return store.addToStore (
844853 " source" ,
0 commit comments