Как исправить проблему Subversion / XCode - PullRequest
1 голос
/ 20 ноября 2010

У меня есть проект Mac в XCode, который находится в хранилище Subversion.

Subversion настроен на удаленном сервере с использованием svn + ssh.

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

При этом я забыл о файлах ".svn", которые подрывной деятельностиоставляет на каждом уровне иерархии вашего проекта, чтобы отслеживать состояние извлечения в хранилище.

Я использовал команду XCode «добавить в хранилище», чтобы добавить первую версию моего подкаталога в мою рабочую копию.

Теперь, когда я пытаюсь проверить раунд изменений, Я получаю очень бесполезную ошибку:

"Ошибка: 155005 (рабочая копия не заблокирована; возможно, это ошибка, сообщите об этом) Описание: Ошибка фиксации (подробности следуют): Ошибка: 155005 (рабочая копияне заблокирован; возможно, это ошибка, сообщите об этом) Описание: отсутствует каталог '/ Development / FractalWorks / FractalWorks Plots / .svn', содержащий область администрирования рабочей копии "

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

Я довольно комфортно работаю в терминале и выдаю там команды svn.У меня также есть зарегистрированная версия приложения «версии», хотя я в настоящее время не использую ее для управления этим проектом.

Может кто-нибудь указать мне некоторую информацию о том, как очистить рабочую копию, удалить остаткииз команд «добавить в репозиторий», которые я выполнил, чтобы я мог добавить последний подкаталог файлов в мой проект и получить его для фиксации?

Я считаю, что SVN непрозрачный и очень трудно ориентироваться, а руководство не очень информативно.Я не видел никакой информации о том, как обращаться с таким случаем, когда рабочая копия не синхронизируется с хранилищем.Любая помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 22 ноября 2010

svn revert file-i-added откажется от добавления.

Однако самый простой способ выйти из подобной ситуации - просто извлечь чистую рабочую копию.Что вы должны сделать:

  1. переместить вашу текущую рабочую копию куда-нибудь еще.
  2. проверить чистую копию иерархии проекта в том месте, где раньше была ваша рабочая копия.
  3. копировать любые изменения из перемещенной рабочей копии обратно в новую.

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

find old-working-copy-dir -name '.svn' -type d -exec rm -rf {} \;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...