diff --git a/extensions/git/src/util.ts b/extensions/git/src/util.ts index e4e0feb623d..ec3f7887e98 100644 --- a/extensions/git/src/util.ts +++ b/extensions/git/src/util.ts @@ -303,6 +303,10 @@ export function detectUnicodeEncoding(buffer: Buffer): Encoding | null { return null; } +function isWindowsPath(path: string): boolean { + return /^[a-zA-Z]:\\/.test(path); +} + export function isDescendant(parent: string, descendant: string): boolean { if (parent === descendant) { return true; @@ -312,5 +316,11 @@ export function isDescendant(parent: string, descendant: string): boolean { parent += sep; } + // Windows is case insensitive + if (isWindowsPath(parent)) { + parent = parent.toLowerCase(); + descendant = descendant.toLowerCase(); + } + return descendant.startsWith(parent); }