Browse Source

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>
maint
Sebastian Schuberth 13 years ago committed by Junio C Hamano
parent
commit
37495eef4c
  1. 7
      git-cvsexportcommit.perl

7
git-cvsexportcommit.perl

@ -30,6 +30,13 @@ if ($opt_w || $opt_W) { @@ -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});
}

Loading…
Cancel
Save