From cbbf2d0990404f08050f27c36fc845979dea3e67 Mon Sep 17 00:00:00 2001 From: Florian Schwalm Date: Wed, 20 Jan 2021 17:25:22 +0100 Subject: [PATCH] Correctly resolve mapped drive on Windows fs.realpath.native in NodeJS uses the Win32 API function GetFinalPathNameByHandle() on Windows hosts, therefore a given path must follow the guidelines for Win32 API file functions. Drive letters on Windows need to end on a backslash according to the Win32 File Naming Conventions (https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file) Omitting the backslash results in Windows treating the remaining path components as a relative path starting from the current directory on the specified disk https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#fully-qualified-vs-relative-paths --- extensions/git/src/git.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/git/src/git.ts b/extensions/git/src/git.ts index 474623b9c4e..b304e21ed5a 100644 --- a/extensions/git/src/git.ts +++ b/extensions/git/src/git.ts @@ -467,7 +467,7 @@ export class Git { try { const networkPath = await new Promise(resolve => - realpath.native(`${letter}:`, { encoding: 'utf8' }, (err, resolvedPath) => + realpath.native(`${letter}:\\`, { encoding: 'utf8' }, (err, resolvedPath) => resolve(err !== null ? undefined : resolvedPath), ), );