SVN + SSH и Sourceforge
Я новичок в Sourceforge и SVN (SilkSVN для Windows).
Мне удалось проверить проект, используя
svn co --username=zeroth123 svn://[email protected]/p/stddecimal/code/trunk stddecimal-code
Однако каждый раз, когда я пытаюсь использовать ssh (поэтому я могу проверить, например), он терпит неудачу с
> svn co --username=zeroth123 svn+ssh://[email protected]/p/stddecimal/code/trunk stddecimal-code
svn: E720087: Unable to connect to a repository at URL 'svn+ssh://[email protected]/p/stddecimal/code/trunk'
svn: E720087: Can't create tunnel: The parameter is incorrect.
Я установил SVN_SSH
, чтобы указать на мой полностью квалифицированный plink.exe
, и это не имеет никакого значения. Я также попытался изменить его на junk.exe
и не получил ничего другого, поэтому я не думаю, что мы даже смотрим на SVN_SSH
, который исчерпывает все советы, которые я смог найти в Sourceforge и другие форумы.
Для записи я являюсь администратором проекта и поэтому имею права на запись (или, по крайней мере, думаю, что я делаю!)
Любые идеи?
Ответы
Ответ 1
`% SVN_SSH% необходимо установить правильно, и ключ SSH необходимо зарегистрировать в Sourceforge.
Обратите внимание, что новые проекты Sourceforge по умолчанию версии 2.0, а 99% документации Sourceforge для версии 1.0 и выглядит устаревшей.
В этих инструкциях предполагается, что у вас установлены инструменты SVN
и PuTTY
, и что вы можете успешно получить доступ к своему проекту с использованием незащищенного протокола, например, команда стиля svn checkout svn://[email protected]/p/PROJECT/code/trunk PROJECT-code
должна работать.
В этих инструкциях объясняется, как сделать то же самое с svn checkout svn+ssh://...
, который необходим для доступа к записи в Sourceforge.
-
Установите %SVN_SSH%
на полный путь к вашему SSH-клиенту. Например. setx SVN_SSH "C:/Program Files (x86)/PuTTY/plink.exe"
-
SVN
ожидает косой черты или двойные обратные слэши в пути
- Возможно, вам придется открыть окно
cmd
- Протестируйте, введя
%SVN_SSH%
в приглашении и подтвердите, что вы получите экран справки по вашим программам ssh (или любое другое поведение, которое вы ожидаете от выполнения без аргументов).
-
(Необязательно?) Кэш ключа RSA сервера. Откройте PuTTY
, войдите в систему svn.code.sf.net
(или независимо от сервера вашего проекта). Появится приглашение, спрашивающее, хотите ли вы кешировать ключ RSA сервера - нажмите "Да".
- Вам может не понадобиться это делать, если вы не используете SVN для подключения вашего проекта в первый раз, вам будет задан один и тот же вопрос. Введите
y
.
- Однако я сделал это, потому что думал, что интерактивная подсказка может быть частью проблемы.
-
Создайте открытый/закрытый ключ и зарегистрируйте открытый ключ с помощью Sourceforge.
- При создании ключа более подробно здесь.
- Если вы используете
PuTTY
, используйте PuTTYgen
для создания ключа и убедитесь, что закрытый ключ загружен в pageant
. По иронии судьбы Launchpad имеет отличные инструкции.
- Открытый ключ можно зарегистрировать в Sourceforge, перейдя на
Home > Account > Services
и нажав Edit SSH Keys for Shell/CVS
.
-
Теперь проверка работы с использованием протокола svn+ssh
должна работать!
Ответ 2
Я выполнил инструкции здесь, и это сработало. Его более быстрый метод, который не требует загрузки ключей и т.д.
- Загрузите
plink.exe
из http://the.earth.li/~sgtatham/putty/latest/x86/plink.exe
- Поместите
plink.exe
в каталог установки Windows (%windir%
)
- Откройте следующий файл с помощью Notepad
%APPDATA%\Subversion\config
-
Добавьте или замените следующую строку в разделе [tunnels]
(замените login и pwd своим логином и паролем sourceforge)
ssh = c:\\windows\\plink.exe -batch -l <LOGIN> -pw <PWD>
(обратите внимание на двойную обратную косую черту)
- Сохранить и закрыть файл
Ответ 3
Для меня проблема заключалась в том, что Tortoise был первоначально установлен на диске D. Я удалил его и переустановил на C без изменения соответствующих настроек. Решение заключалось в том, чтобы скопировать папку TortoiseSVN с диска C в исходное местоположение на диске D.
Ответ 4
Для кого-либо (например, я), работающего с Tortoise SVN, который работает с Tortoise SVN, но ему нужен доступ к командной строке для упрощенного анализа массы... и не хочет проваливать регистрацию ключа SSH.
- Скопируйте значение, которое вы используете в Tortoise - Настройки - Сеть - Клиент SSH (у меня есть имя пользователя, аргументы пароля)
- Отредактируйте командную строку configs ssh line в% APPDATA%\Subversion\config в соответствии с ответом выше, чтобы использовать строку, которую вы скопировали из Tortoise
Таким образом, вы можете использовать Tortoise Plink.exe с аргументами для имени пользователя и пароля.