Подтвердить что ты не робот

Xcode удалить репозиторий из проекта

В моем проекте xcode есть два репозитория, перечисленных в меню "Управление источником". Один из них - это хранилище старого проекта и не должен ассоциироваться с текущим проектом. Однако я не могу понять, как удалить его из проекта.

ПРИМЕЧАНИЕ. Я уже удалил этот репозиторий из Organizer.

Screenshot

Любая помощь будет принята с благодарностью.

4b9b3361

Ответ 1

Я сделал это, вручную отредактировав файл .xccheckout.

Вот шаги, которые должны сработать для вас:

  • закройте Xcode и создайте резервную копию вашего файла проекта.
  • в Finder, щелкните правой кнопкой мыши файл проекта и выберите "Показать содержимое пакета"
  • щелкните правой кнопкой мыши по файлу project.xcworkspace и выберите "Показать коннекты пакетов"
  • в папке с именем xcshareddata существует файл с расширением .xccheckout (он должен иметь то же имя, что и ваш основной файл проекта, но с расширением .xccheckout)
  • сделать резервную копию этого файла
  • откройте файл .xccheckout в вашем любимом текстовом редакторе - это plist.
  • найдите ключ IDESourceControlProjectWCConfigurations и найдите <dict>, у которого есть имя репозитория, который вы хотите удалить.
  • в том же <dict> есть ключ IDESourceControlWCCIdentifierKey, значение которого содержит идентификатор, который выглядит как UUID - эта строка идентифицирует репозиторий.
  • найдите весь файл для пар ключ/строка, у которых есть идентификатор в качестве ключа. удалите все эти пары.
  • удалите <dict>
  • сохранить файл
  • откройте проект в Xcode и убедитесь, что все хорошо.

Если он все еще отображается, убедитесь, что ни один из файлов в вашем проекте не находится в каталоге старого репозитория (через абсолютную ссылку на файл). Вы можете исследовать это, открыв основной файл project.pbxproj, который находится внутри вашего файла проекта.

Вы также можете проверить это, временно переименовав корневую папку (в Finder) старого репозитория, и если репозиторий больше не отображается в меню Source Control, тогда у вас есть файл в вашем проекте, который находится в этом старом репозитории.

Ответ 2

  • Закрыть XCode.
  • Открыть терминал.
  • Перейдите в корневую директорию проекта.
  • Введите find ./ -name .svn -exec rm -rf {} \;.
  • Откройте проект.

Ваш проект должен быть отключен от всех репозиториев. Теперь вы можете подключить свой проект к нужному репозиторию через Source Control -> Configure Project.

ПРИМЕЧАНИЕ: команда ищет все имена файлов с расширением .svn и удаляет (рекурсивно и принудительно) все из них.

Ответ 4

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

Я также рекомендую вам перейти к Xcode → Source Control → % Repository% → Configure% ProjectName% и выбрать рабочую ветку на панели ветвей - просто чтобы убедиться, что места в папке ветки инициализирован. (После того, как вы нажмете кнопку "Готово", вы увидите пункт меню репозитория в меню "Управление исходным кодом", а подменю будет расширено, чтобы дать вам больше опций).

Тогда простой вопрос об этих изменениях Xcode вернулся в тот же репозиторий. Инструмент diff должен указывать строки XML из этого файла .xccheckout, которые изменились и не намного больше.

Ответ 5

У меня есть опыт работы с диалоговым окном после перехода на Source Control → Checkout, что я сделал, это просто удалить/изменить мою учетную запись.

Xcode → Предпочтения → Учетные записи → (выполните редактирование или удаление)

Я не уверен на 100%, что также исправляю ваши, но стоит попробовать. Кстати, я использую Xcode 6 beta.