С тех пор, как я начал использовать XCode, у меня не было проблем с подключением к моему хранилищу Subversion с использованием IP-адреса вместо имени хоста. например. http://192.168.1.xxx/svn
Когда Xcode 4 вышел для Snow Leopard, он также работал нормально. Но после обновления до Lion и обновленного Xcode 4 все, что я делал, отказывалось подключаться к хранилищу. Я мог без проблем подключиться из оболочки с 'svn list http://192.168.1.xxx/svn',, но не из Xcode. Я попытался удалить пароль из хранилища. Это не сработало, поэтому я вернул пароль.
Я пытался удалить любые ссылки на хранилище из моей цепочки для ключей, но это тоже не сработало. Это не вызвало бы окно аутентификации в XCode. Использование 'svn list http://192.168.1.xxx/svn' из оболочки дало мне окно аутентификации, и оно успешно подключилось. Он добавил запись в связку ключей, но Xcode все еще не работал. Я попытался добавить Xcode в список контроля доступа для новой записи цепочки для ключей, но это тоже не сработало.
Я нашел другую ветку здесь с небольшим комментарием о добавлении записи для сервера svn в файл / etc / hosts, поэтому я решил попробовать.
192.168.1.xxx Subversion
После добавления этой строки в файл hosts все стало отлично работать в Xcode, используя http://Subversion/svn для подключения к хранилищу. Подключение из оболочки также работало нормально.
Вероятно, стоит упомянуть, что новая запись цепочки для ключей показывает 2 записи в списке контроля доступа для svn. Одна запись указывает на / opt / local / bin / svn, другая на / Developer / usr / bin / svn. После перезапуска Xcode он запросил доступ к цепочке для ключей. Теперь есть третья запись в списке доступа для Xcode. Я попытался добавить эти 2 записи, которые были добавлены XCode в список доступа для записи цепочки для ключей, используя IP-адрес, но XCode все еще не работал.
В течение многих лет я видел странное поведение в OSX при аутентификации на устройствах с использованием IP-адреса. Мой веб-браузер иногда находил запись цепочки для ключей для моего маршрутизатора при доступе к нему по IP-адресу, а в других случаях этого не происходило. Поэтому, чтобы не тратить впустую много времени на диагностику подобных проблем в будущем, теперь я буду использовать файл / etc / hosts.