git-cvsexportcommit: Fix calling Perl's rel2abs() on MSYS
Due to MSYS path mangling GIT_DIR contains a Windows-style path when checked inside a Perl script even if GIT_DIR was previously set to an MSYS-style path in a shell script. So explicitly convert to an MSYS-style path before calling Perl's rel2abs() to make it work. This fix was inspired by a very similar patch in WebKit: http://trac.webkit.org/changeset/76255/trunk/Tools/Scripts/commit-log-editor Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com> Tested-by: Pat Thoyts <patthoyts@users.sourceforge.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Sebastian Schuberth committed
Jan 11, 2012 at 10:21 UTC
37495eef4c6071fa124911753cfca3690ea4bf96
1 file changed
+7
git-cvsexportcommit.perl
+7
@@ -30,6 +30,13 @@ if ($opt_w || $opt_W) {
30
chomp($gd);
31
$ENV{GIT_DIR} = $gd;
32
}
33
+
34
+ # On MSYS, convert a Windows-style path to an MSYS-style path
35
+ # so that rel2abs() below works correctly.
36
+ if ($^O eq 'msys') {
37
+ $ENV{GIT_DIR} =~ s#^([[:alpha:]]):/#/$1/#;
38
+ }
39
+
40
# Make sure GIT_DIR is absolute
41
$ENV{GIT_DIR} = File::Spec->rel2abs($ENV{GIT_DIR});
42
}