diff --git a/extensions/git/src/git.ts b/extensions/git/src/git.ts index 62bae1422df..5bdfd655dbc 100644 --- a/extensions/git/src/git.ts +++ b/extensions/git/src/git.ts @@ -348,10 +348,15 @@ function getGitErrorCode(stderr: string): string | undefined { return undefined; } -// https://github.com/microsoft/vscode/issues/89373 -// https://github.com/git-for-windows/git/issues/2478 function sanitizePath(path: string): string { - return path.replace(/^([a-z]):\\/i, (_, letter) => `${letter.toUpperCase()}:\\`); + return path + // Drive letter + // https://github.com/microsoft/vscode/issues/89373 + // https://github.com/git-for-windows/git/issues/2478 + .replace(/^([a-z]):\\/i, (_, letter) => `${letter.toUpperCase()}:\\`) + // Shell-sensitive characters + // https://github.com/microsoft/vscode/issues/133566 + .replace(/(["'\\\$!><#()\[\]*&^| ;{}?`])/g, '\\$1'); } const COMMIT_FORMAT = '%H%n%aN%n%aE%n%at%n%ct%n%P%n%D%n%B';