http-push: improve error log
[gitweb.git] / t / t0021 / rot13-filter.pl
index f1678851de954dd93ab0e2fc7912813ad5f09960..470107248eb161b9314ceb0ab93f21f072cf86cd 100644 (file)
 #
 
 use 5.008;
-use lib (split(/:/, $ENV{GITPERLLIB}));
+sub gitperllib {
+       # Git assumes that all path lists are Unix-y colon-separated ones. But
+       # when the Git for Windows executes the test suite, its MSYS2 Bash
+       # calls git.exe, and colon-separated path lists are converted into
+       # Windows-y semicolon-separated lists of *Windows* paths (which
+       # naturally contain a colon after the drive letter, so splitting by
+       # colons simply does not cut it).
+       #
+       # Detect semicolon-separated path list and handle them appropriately.
+
+       if ($ENV{GITPERLLIB} =~ /;/) {
+               return split(/;/, $ENV{GITPERLLIB});
+       }
+       return split(/:/, $ENV{GITPERLLIB});
+}
+use lib (gitperllib());
 use strict;
 use warnings;
 use IO::File;