2010-09-14 2 views
3

Итак, мы использовали порт 22 для нашего репозитория svn, но порт 22 был недавно закрыт администратором брандмауэра, что заставило нас использовать другой порт.Пользовательский порт Xcode svn + ssh не работает?

Во всяком случае, похоже, Xcode не играет очень хорошо с пользовательскими номерами портов, потому что как только вы измените номер порта к чему-либо, даже 22, вы получите следующее сообщение об ошибке:

Ошибка: 210002 (Сетевое соединение неожиданно закрыто) Описание: (null)

Это сообщение об ошибке, которое вы получаете, как только что-то не работает, что не очень полезно.

Настройка порта делает URL выглядеть следующим образом:

svn+ssh://[email protected]:22/path 

Я попытался подключиться к SSH из командной строки с помощью:

ssh [email protected]:22 

и получил следующее сообщение об ошибке:

ssh: Не удалось разрешить хост хоста: 22: nodename или servname предоставлено или неизвестно

Однако, если подключить с помощью:

ssh [email protected] -p 22 

Он работает.

Это заставляет меня поверить, что ssh не анализирует user @ host: 22 правильно.

Кто-нибудь знает, как я могу изменить URL-адрес, чтобы он работал в Xcode?

Если кто знает, как изменить URL-адрес, чтобы заставить его работать с ssh, это тоже может быть полезно.

Спасибо!

ответ

6

Что нужно сделать, чтобы изменить порт svn над ssh - это добавить пользовательскую схему. Это, как вы делаете это

Добавить строку:

ssh2222 = /usr/bin/ssh -p 2222 

в файл ~/.subversion/конфигурации в [тоннели] раздел.

Затем с помощью URL, который выглядит следующим образом:

svn+ssh2222//[email protected]/path 

Вы можете назвать свою схему все, что вы хотите, и ваш номер порта имеет, конечно, не должны быть 2222.

0

Другой вариант (по крайней мере, с моей Subversion 1.6.17) заключается в использовании $ SVN_SSH переменную в конфигурационном файле:

[Tunnels] 
ssh = $SVN_SSH ssh -p 2222 
+0

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

+0

лучший выбор вообще;) –