Browse Source

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
main
Florian Schwalm 4 years ago
committed by Eric Amodio
parent
commit
992e81041c
1 changed files with 1 additions and 1 deletions
  1. +1
    -1
      src/git/gitService.ts

+ 1
- 1
src/git/gitService.ts View File

@ -3231,7 +3231,7 @@ export class GitService implements Disposable {
try { try {
const networkPath = await new Promise<string | undefined>(resolve => const networkPath = await new Promise<string | undefined>(resolve =>
fs.realpath.native(`${letter}:`, { encoding: 'utf8' }, (err, resolvedPath) =>
fs.realpath.native(`${letter}:\\`, { encoding: 'utf8' }, (err, resolvedPath) =>
resolve(err != null ? undefined : resolvedPath), resolve(err != null ? undefined : resolvedPath),
), ),
); );

Loading…
Cancel
Save