Re: [msysGit] [PATCH 2/2] git-cvsexportcommit: Fix calling Perl's rel2abs() on MSYS
On 11 January 2012 09:21, Sebastian Schuberth <sschuberth@gmail.com> wrote:
Show 35 quoted lines
> 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>
> ---
> git-cvsexportcommit.perl | 7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/git-cvsexportcommit.perl b/git-cvsexportcommit.perl
> index 39a426e..e6bf252 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});
> }
> --
> 1.7.9.rc0.5096.g30a61
>Cool - works for me. I just assumed we didn't support cvsexport.
Tested-by: Pat Thoyts <patthoyts@users.sourceforge.net>