[PATCH v2 03/19] Git.pm: stop assuming that absolute paths start with a slash
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jan 26, 2016, 14:34 UTC
- Message-ID
- <1e53f292003d0e3ab81a5e26be63eb80bfd6cda7.1453818790.git.johannes.schindelin@gmx.de>
- In-Reply-To
- <cover.1453818789.git.johannes.schindelin@gmx.de>
On Windows, absolute paths never start with a slash, unless a POSIX emulation layer is used. The latter is the case for MSYS2's Perl that Git for Windows leverages. However, in the tests we also go through plain `git.exe`, which does *not* leverage the POSIX emulation layer, and therefore the paths we pass to Perl may actually be DOS-style paths such as C:/Program Files/Git.
So let's just use Perl's own way to test whether a given path is absolute or not instead of home-brewing our own.
This patch partially fixes t7800 and t9700 when running in Git for Windows' SDK.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> --- perl/Git.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/perl/Git.pm b/perl/Git.pm index 19ef081..49eb88a 100644 --- a/perl/Git.pm +++ b/perl/Git.pm @@ -188,7 +188,8 @@ sub repository { }; if ($dir) { - $dir =~ m#^/# or $dir = $opts{Directory} . '/' . $dir; + _verify_require(); + File::Spec->file_name_is_absolute($dir) or $dir = $opts{Directory} . '/' . $dir; $opts{Repository} = abs_path($dir); # If --git-dir went ok, this shouldn't die either.
-- 2.7.0.windows.1.7.g55a05c8