From: Karthik R Date: Tue, 18 Aug 2009 04:33:02 GMT Subject: Re: [PATCH][resend] git-svn: Respect GIT_SSH setting Message-ID: <4A8A2EFE.6000203@fastmail.fm> In-Reply-To: Johannes Schindelin wrote: > 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. >> 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. > 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 > >