From: Sebastian Schuberth Date: Wed, 11 Jan 2012 09:21:10 +0000 (+0100) Subject: git-cvsexportcommit: Fix calling Perl's rel2abs() on MSYS X-Git-Tag: v1.7.9-rc1~3^2 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=37495eef4c6071fa124911753cfca3690ea4bf96;p=git.git 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 Tested-by: Pat Thoyts Signed-off-by: Junio C Hamano --- diff --git a/git-cvsexportcommit.perl b/git-cvsexportcommit.perl index 39a426e06..e6bf25232 100755 --- a/git-cvsexportcommit.perl +++ b/git-cvsexportcommit.perl @@ -30,6 +30,13 @@ if ($opt_w || $opt_W) { chomp($gd); $ENV{GIT_DIR} = $gd; } + + # On MSYS, convert a Windows-style path to an MSYS-style path + # so that rel2abs() below works correctly. + if ($^O eq 'msys') { + $ENV{GIT_DIR} =~ s#^([[:alpha:]]):/#/$1/#; + } + # Make sure GIT_DIR is absolute $ENV{GIT_DIR} = File::Spec->rel2abs($ENV{GIT_DIR}); }