2012-05-15 4 views
16

Я новичок в Sourceforge и SVN (SilkSVN для Windows).SVN + SSH и Sourceforge

мне удалось проверить проект с использованием

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 и других форумах.

Для записи я являюсь администратором проекта и, следовательно, иметь права на запись (или, по крайней мере, думаю, что я!)

Любые идеи?

+0

Не забудьте оставить заявку, если найдете ее. –

ответ

21

`% 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.

  1. %SVN_SSH% полный путь к вашему SSH-клиенту. Например. setx SVN_SSH "C:/Program Files (x86)/PuTTY/plink.exe"

    • svn ожидает слэша или двойные обратные косые черты в пути
    • Вы, возможно, придется повторно открыть cmd окно
    • тест набрав %SVN_SSH% на приглашение и подтверждение вы получите ваши программы SSH помочь (или любое другое поведение, которое вы ожидаете от выполнения без аргументов)
  2. (необязательно?) Кэш ключа RSA сервера. Откройте PuTTY, войдите в систему svn.code.sf.net (или независимо от того, что сервер вашего проекта). Появится приглашение, спрашивающее, хотите ли вы, чтобы кешировать ключ RSA сервера - нажмите «Да».

    • Возможно, вам не обязательно это делать, если вы не используете SVN для подключения вашего проекта в первый раз, вам будет задан один и тот же вопрос. Тип y.
    • Однако я сделал это, потому что думал, что интерактивная подсказка может быть частью проблемы.
  3. Создать открытый/закрытый ключ и зарегистрировать открытый ключ с помощью Sourceforge.

    • При создании ключа, например, here.
    • Если вы используете PuTTY, используйте PuTTYgen, чтобы создать ключ, и убедитесь, что секретный ключ загружен в pageant. По иронии судьбы Launchpad имеет отличные инструкции.
    • Открытый ключ можно зарегистрировать на Sourceforge, перейдя по ссылке Home > Account > Services и нажав Edit SSH Keys for Shell/CVS.
  4. Теперь протокол с использованием протокола svn+ssh должен работать!

+1

Обратите внимание, что имя переменной% SVN_SSH% (а не% SSH_SVN%, как указано в 1.) –

+1

Пара вещей: одна, я пробовал много вещей, прежде чем приходить на этот сайт, так что это выглядит очень важно что 'appdata/subversion/config' не имеет ничего под туннелем ssh. Кроме того, я не знаю, что такое «paegent», но «конкурс» работал на меня!(после многих минут избиения моей головы против стены, пытаясь понять, почему это не работает.) –

9

Я следовал инструкциям here, и это сработало. Его более быстрый метод, который не требует загрузки ключей и т.д.

  1. Скачать plink.exe из http://the.earth.li/~sgtatham/putty/latest/x86/plink.exe
  2. Поместите plink.exe в ваших окнах установки каталога (%windir%)
  3. Откройте следующий файл с помощью блокнота %APPDATA%\Subversion\config
  4. Добавьте или замените следующую строку в разделе [tunnels] (замените login и pwd своим логином и паролем исходного словаря)

    ssh = c:\\windows\\plink.exe -batch -l <LOGIN> -pw <PWD> 
    

    (обратите внимание на двойную обратную косую черту)

  5. Сохранить и закрыть файл
+1

Или используйте косые черты. – 0xC0000022L

0

Для меня вопрос в том, что черепаха была изначально установлена ​​на D диске. Я удалил его и переустановил на C без изменения соответствующих настроек. Решением было скопировать папку TortoiseSVN с диска C в исходное местоположение на диске D.

-1

Для кого-либо (например, я), работающего с Tortoise SVN, у которого есть работа для Tortoise SVN, но для доступа к командной строке требуется простой доступ к анализу ... и не хочет проваливать регистрацию ключа SSH.

  1. Скопируйте значение, которое вы используете в Tortoise - Настройки - Сеть - SSH клиент (у меня есть имя, аргументы пароль)
  2. Редактирование командной строки конфиги ßh строки в% APPDATA% \ Subversion \ Config в соответствии с ответьте выше, чтобы использовать эту строчку в Tortoise.

Таким образом, вы можете использовать Tortoise Plink.exe с параметрами для имени пользователя и пароля.

Смежные вопросы