2014-11-06 3 views
1

Я хочу использовать tortoiseGit, чтобы проверить репозиторий SVN через SSH.Изменение значения GIT_SSH для tortoiseGit

Он терпит неудачу каждый раз, потому что команда SSH не может быть выполнена. По-видимому, причина в том, что вызывается пользовательская команда SSH, которая содержит имя пользователя и пароль. Раньше я использовал tortoiseSVN для доступа к репозиторию через SSH и пытался отправить учетные данные для проверки подлинности (то же, что и в пользовательской команде) в командной строке, но поскольку это не помогло, я переключился на проверку подлинности на основе ключей. Это на самом деле то, что я хотел бы сделать с git тоже, но прежде чем я смогу это сделать, я, очевидно, должен изменить команду SSH.

Мне было любопытно, как мои старые учетные данные могут быть переданы на сервер и, наконец, найти в настройках tortoiseGit кнопку «Показать переменные среды». Там я мог видеть две переменные с именем GIT_SSH и SVN_SSH, содержащие одну и ту же неправильную команду. Поэтому я искал эти переменные среды, но, судя по всему, их не существует. Я попытался их создать, но git продолжает использовать старые.

Я предполагаю, что в каком-то сценарии эти переменные определены до запуска git, но после нескольких часов поиска я ничего не нашел. Я также переустановил git, toritoiseGit и tortoiseSvn и попытался удалить все данные, но после установки все снова git по-прежнему будет использовать неправильную команду.

Фактический выход (который я получил после выбора «Git клон» - «С SVN Repository»:

git.exe svn clone "svn+ssh://[email protected]/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.

+0

Пожалуйста, вы можете предоставить фактические команды вы работаете (с URL скрытой/изменены если вы хотите), и сообщение об ошибке вы g et при запуске? – orbrey

+0

Да, извините за это, я добавил. – JonathanK

ответ

0

Я нашел способ решить свою проблему.

Я удалил черепахуGit, Git и tortoiseSVN. После этого я обыскал свой жесткий диск для любого файла конфигурации, который может быть оставлен, и на самом деле нашел много. После этого я искал в реестре любые старые ключи и снова нашел много. По-видимому, SVN_SSH и GIT_SSH были сюжетом в реестре, а не в переменных среды (несмотря на то, что они называются переменными окружения ...).

После переустановки всего и попыток в течение некоторого времени я смог проверить репозиторий. Таким образом, очевидно, что вся проблема была вызвана людьми, которые неспособны написать деинсталлятор, который на самом деле способен полностью удалить программу и не только удаляет некоторые двоичные файлы ...

1

вы не можете включать параметры в переменную SVN_SSH среды для использования с Git (для Windows).

Создайте конфигурацию замазки и хранить имя пользователя там, так что вам не нужно использовать параметры CLI. пароль, не обязательно быть в качестве параметра, который может запросить предопределенный инструмент ASKPASS.

или

Создание приложения-оболочки, которая начинается Tortoise (Git) Plink с соответствующими параметрами, руки STDIN и STDOUT к Черепахи (Git) Plink.

+0

О, я действительно пытался сделать именно это, я просто не нашел способ изменить неправильное значение в SVN_SSH – JonathanK

1

на всякий случай, когда кто-то сюда попадает, я получил Аналогичное сообщение об ошибке в сочетании с использованием Git Extensions на Windows:

не удалось: Нет такого файла или каталога в /usr/lib/perl5/site_perl/Git/SVN.pm линии 310GitExtensions \ PuTTY \ Plink.ехе

Исправление было установить переменную git_ssh среды в формате 8.3:

set git_ssh=c:\progra~2\gitextensions\putty\plink.exe 

«PROGRA ~ 2» в моем случае это короткое_имя для «файлов программы (x86)», вы можете получить сокращенный каталог через директорию/х в командной строке

кажется, как пробела в пути не обработаны должным образом