Я хочу использовать tortoiseGit для проверки репозитория SVN через SSH.
Каждый раз происходит сбой, потому что команда SSH не может быть выполнена. По-видимому, причина в том, что вызывается пользовательская команда SSH, которая содержит имя пользователя и пароль. Раньше я использовал tortoiseSVN для доступа к репозиторию через SSH и пытался отправить учетные данные для аутентификации (такие же, как в пользовательской команде) в командной строке, но, поскольку это не сработало, я переключился на аутентификацию на основе ключей. На самом деле это то, что я хотел бы сделать и с git, но прежде чем я смогу это сделать, мне, очевидно, придется изменить команду SSH.
Мне было любопытно, как мои старые учетные данные могут быть переданы на сервер, и, наконец, я нашел в настройках tortoiseGit кнопку «Показать переменные среды». Там я увидел две переменные с именами GIT_SSH и SVN_SSH, содержащие одну и ту же неправильную команду. Поэтому я искал эти переменные среды, но, видимо, их не существует. Я пытался создать их, но git продолжает использовать старые.
Я предполагаю, что в каком-то скрипте эти переменные определены до запуска git, но после нескольких часов поиска я ничего не смог найти. Я также переустановил git, toritoiseGit и tortoiseSvn и попытался удалить все данные, но после повторной установки git все равно использовал неправильную команду.
Фактический результат (который я получил после выбора «Git clone» - «Из репозитория SVN»:
git.exe svn clone "svn+ssh://username@puttyconfig/path/to/my/repo" "C:\Path\to\Repo\on\Filesysem" -T trunk -b branches -t tags
WARNING: --prefix is not given, defaulting to empty prefix.
This is probably not what you want! In order to stay compatible
with regular remote-tracking refs, provide a prefix like
--prefix=origin/ (remember the trailing slash), which will cause
the SVN-tracking refs to be placed at refs/remotes/origin/*.
NOTE: In Git v2.0, the default prefix will change from empty to 'origin/'.
Initialized empty Git repository in C:/Path/to/Repo/on/Filesysem/.git/
No such file or directory: Error in child process: exec of 'C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe -I username -pw password' failed: No such file or directory at /usr/lib/perl5/site_perl/Git/SVN.pm line 310
git did not exit cleanly (exit code 1) (1794 ms @ 06.11.2014 16:17:30)
И команда в '' на самом деле та же самая строка, что и в GIT_SSH и SVN_SSH.