From 992e81041cba631bc9f6d4f3d5e44dbe4ee2878b Mon Sep 17 00:00:00 2001 From: Florian Schwalm Date: Tue, 19 Jan 2021 16:41:39 +0100 Subject: [PATCH] Fixes #1045 - 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 --- src/git/gitService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/git/gitService.ts b/src/git/gitService.ts index ce96e21..d7dbd26 100644 --- a/src/git/gitService.ts +++ b/src/git/gitService.ts @@ -3231,7 +3231,7 @@ export class GitService implements Disposable { try { const networkPath = await new Promise(resolve => - fs.realpath.native(`${letter}:`, { encoding: 'utf8' }, (err, resolvedPath) => + fs.realpath.native(`${letter}:\\`, { encoding: 'utf8' }, (err, resolvedPath) => resolve(err != null ? undefined : resolvedPath), ), );