Re: [PATCH][resend] git-svn: Respect GIT_SSH setting
- From
- Karthik R <karthikr@fastmail.fm>
- Date
- Aug 18, 2009, 04:33 UTC
- Message-ID
- <4A8A2EFE.6000203@fastmail.fm>
- In-Reply-To
- <alpine.DEB.1.00.0908180117140.8306@pacific.mpi-cbg.de>
Johannes Schindelin wrote:
Show 12 quoted lines
> Hi, > > On Mon, 17 Aug 2009, Karthik R wrote: > > >> Setting GIT_SSH when using "git svn clone svn+ssh://..." does not >> override the default ssh; SVN_SSH needed to be set instead. >> > > This is now in past tense, no? > >
Yes... this is all in the past tense now :) ... should be "did not override the default ssh". I'll fix it if I have to resend the patch for a different reason.
Show 20 quoted lines
>> diff --git a/git-svn.perl b/git-svn.perl
>> index b0bfb74..9bc1e71 100755
>> --- a/git-svn.perl
>> +++ b/git-svn.perl
>> @@ -21,6 +21,13 @@ $Git::SVN::default_ref_id = $ENV{GIT_SVN_ID} || 'git-svn';
>> $Git::SVN::Ra::_log_window_size = 100;
>> $Git::SVN::_minimize_url = 'unset';
>>
>> +# If GIT_SSH is set, also set SVN_SSH...
>> +$ENV{SVN_SSH} = $ENV{GIT_SSH} if defined $ENV{GIT_SSH};
>> +# ... and escape \s in shell-variable on Windows
>> +if ($^O eq 'MSWin32' || $^O eq 'msys') {
>> + $ENV{SVN_SSH} =~ s/\\/\\\\/g if defined $ENV{SVN_SSH};
>> +}
>>
>
> This is a change from before... I do not know if it is a good one, as
> SVN_SSH could be defined differently by the user, no? In that case, the
> user was most likely using the correct amount of backslashes...
> Dscho, The *correct* amount of backslashes is 1 (per dir) - same as used with GIT_SSH. If the user has set SVN_SSH but not GIT_SSH (most likely without escaping \), then fixing up SVN_SSH for use with git-svn is not a bad thing.
I did this change to retain existing behavior (using SVN_SSH to override) even when user doesn't know the \\ quirk - or if the user has set it for some other non-msys version of svn.
Show 8 quoted lines
> So maybe it was correct to make this dependent on "if defined
> $ENV{GIT_SSH}", and maybe it should be dependent on "&& !defined
> $ENV{SVN_SSH}" as well...
>
> Ciao,
> Dscho
>
>