Xcode 4 + SVN = работает? - PullRequest
       2

Xcode 4 + SVN = работает?

12 голосов
/ 21 марта 2011

У меня VPS с запущенным Centos.У меня есть настройка Subversion на VPS.При настройке в Xcode Xcode сообщает, что все в порядке.Однако, когда я импортирую проект, Xcode выдает предупреждение:

Authentication realm: <svn://**********.net:3690> **********-**********
Password for 'svn': 
Authentication realm: <svn://**********.net:3690> **********-**********
Username: svn: Can't read stdin: End of file found

Я даже не могу создать каталоги, но Xcode сообщает, что он может подключиться к нему нормально.Я ввел правильное имя пользователя и пароль.

Я могу установить сторонний плагин, работающий в Visual Studio, работающий по тому же адресу, так что я знаю, что не сервер создает проблемы.Я загрузил некоторые файлы с помощью visual studio.

У кого-нибудь есть subversion, работающий на их xcode 4?

Ответы [ 10 ]

21 голосов
/ 25 марта 2011

Я решил проблему таким образом

1.открыть терминал

2.type 'svn list svn: // ~~~ paths'

есть. "NJW-Mac: ~ bluepin $ svn list svn: //192.168.0.184/BMA"

3.Вы должны будете ввести PCUserPassword, svnUserID, svnUserPassword

4.U должен увидеть вывод команды svn list, что означает, что вы смогли подключиться к серверу SVN

5. возврат к xcode4

6.Попробуйте снова свою работу (подключите хранилища)

Если вы получаете доступ к своему репозиторию SVN из терминала, как только он позволит вам подключиться к репозиториям с помощью Xcode (я подозреваю, что учетные данные subversion должны быть где-то кэшированы).

2 голосов
/ 05 августа 2011

С тех пор, как я начал использовать 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.

1 голос
/ 07 октября 2011

Благодарю «Макдизеля», который действительно нашел это решение (которое было единственным, которое работало для меня)

  1. Откройте файл / etc / hosts и закомментируйте строки IPv6 (sudo vi / etc / hosts):

    #::1
    #fe80::1%lo0
    
  2. Очистить кэш DNS (sudo dscacheutil - flushcache)

Перезапустите Xcode, и ваши репозитории SVN должны снова заработать.

1 голос
/ 26 июня 2011

Я только что провел утро, сражаясь с XCode и SVN, я думаю, что у меня есть решение, которое не требует использования каких-либо подсказок терминала.Это для подключения к существующему репозиторию.

  1. Оформление заказа или клонирование репозитория
  2. Введите местоположение хоста
  3. Введите имя и выберите Subversion для типа
  4. Выберите локальную папку назначения и нажмите «Оформить заказ»
  5. Введите имя пользователя и пароль при появлении запроса
  6. Когда появится сообщение об ошибке, указывающее, что доступ запрещен, нажмите «Повторить попытку»
  7. Нажмите «Оформить заказ» назапрос на локальную папку назначения без каких-либо изменений
  8. Выберите заменить при подтверждении папки.

Готово.Кажется, требуется две попытки подключения, прежде чем он работает.Я попробовал это на паре разных компьютеров, и это работает каждый раз.

1 голос
/ 28 апреля 2011

Если в командной строке svn использует KeyChain (по умолчанию в MacOS) и все равно спросит вас о svn-пароле, это может быть решением:

  1. Предположим, у вас все в порядке с ~/.subversion папкой конфигурации (настройки по умолчанию,резервное копирование и удаление папки, чтобы быть уверенным)
  2. Выполнить Key Chain.app
  3. В цепочке 'логин' найти пароли, содержащие 'svn'
  4. Для паролей, которые соответствуют вашему серверу dbl-clickи в «Контроль доступа» разрешить доступ без подтверждения (я не знаю точных имен ярлыков пользовательского интерфейса на английском языке MacOS).
  5. Командная строка должна перестать спрашивать пароль, Xcode4 также исправит.
1 голос
/ 07 апреля 2011

http://plainoldstan.blogspot.com/2011/03/xcode-4svn-could-not-authenticate-to.html

Шонн прав, проблема была в том, что учетные данные SVN не были кэшированы «дружественным к Xcode 4» способом.

Это исправило это для меня. По сути, мне нужно было:

  1. Закройте проект, который я пытаюсь зафиксировать в Xcode.
  2. Открыть терминал в корневой папке.
  3. Запустите svn cleanup, чтобы удалить все блокировки.
  4. svn commit с -m "Commit message here" или --editor-cmd=anEditorIUse. Я использовал последний, потому что мне нравится vim.
    • Сохраните текстовый файл и выйдите, если вы используете редактор.
  5. Введите пароль своей учетной записи для OS X.
  6. Введите ваше имя пользователя SVN.
  7. Введите свой пароль SVN.

Аллилуйя.

0 голосов
/ 01 июля 2012

NaJeWang ответ в значительной степени пригвоздит его, но для меня это было так просто, как

  1. Ввод моего пароля пользователя для моей учетной записи пользователя машины .
  2. Ввод моего имени пользователя для моей svn учетной записи .
  3. Ввод моего пароля для моей учетной записи svn .

И это сделал!

0 голосов
/ 20 октября 2011

Если вы уже проверили проект, просто удалите Организатор репо и откройте терминал с каталогом проекта.

Теперь введите:

svn list

Это запросит учетные данные SVN, и интеграция SVN для этого проекта теперь должна работать в XCode.

0 голосов
/ 09 августа 2011

У меня была эта проблема, когда я перемещал свой SVN-сервер из одной коробки в другую. Xcode отказался принять учетные данные, добавленные на страницу репозитория.

Решение, которое я нашел, работало, чтобы удалить репо из списка, выйти из Xcode, а затем снова открыть проект с управлением исходным кодом.

Это тогда правильно предложило мне ввести пароль SVN. После этого все заработало нормально.

0 голосов
/ 27 июля 2011

У меня была похожая проблема; работал в XCode 3 бла-бла ...

Я следовал всем инструкциям здесь и здесь , но все равно он зависал.

Проблема заключалась в том, что мое имя пользователя svn и имя пользователя и пароль моей Mac OS были одинаковыми. Как только я изменил имя моего пользователя SVN, это сработало!

Надеюсь, что это мешает кому-либо еще потратить день на работу над этим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...