if (existsSync(joinPosix(examplesRepoPath, ".git"))) {
const ref = await execAsync(
- `cd "${examplesRepoPath}" && ${
+ `cd ${
+ process.env.ComSpec?.endsWith("cmd.exe") ? "/d " : " "
+ }"${examplesRepoPath}" && ${
process.env.ComSpec === "powershell.exe" ? "&" : ""
}"${gitPath}" rev-parse HEAD`
);
): Promise<boolean> {
try {
// Use the "git submodule update --init" command in the specified directory
+ // `cd` command need '/d' option on Windows. (Change drive "d:\" to "c:\")
const command =
- `cd "${sdkDirectory}" && ` +
+ `cd ${
+ process.env.ComSpec?.endsWith("cmd.exe") ? "/d " : " "
+ }"${sdkDirectory}" && ` +
`${
process.env.ComSpec === "powershell.exe" ? "&" : ""
}"${gitExecutable}" submodule update --init`;
try {
await execAsync(cloneCommand);
await execAsync(
- `cd "${targetDirectory}" && ${
+ `cd ${
+ process.env.ComSpec?.endsWith("cmd.exe") ? "/d " : " "
+ }"${targetDirectory}" && ${
process.env.ComSpec === "powershell.exe" ? "&" : ""
}"${gitExecutable}" sparse-checkout set --cone`
);
): Promise<boolean> {
try {
await execAsync(
- `cd "${repoDirectory}" && ${
+ `cd ${
+ process.env.ComSpec?.endsWith("cmd.exe") ? "/d " : " "
+ } "${repoDirectory}" && ${
process.env.ComSpec === "powershell.exe" ? "&" : ""
}"${gitExecutable}" sparse-checkout add ${checkoutPath}`
);