Контроль Subversion Нет Такой файл или каталог.Не могу открыть файл - PullRequest
3 голосов
/ 25 мая 2011

Сообщение об ошибке:

"svn: невозможно открыть файл" /Users/username/Projects/myproject/trunk/project/.svn/text-base/filetoupdate.h.svn-base ': такого файла или каталога нет "

Вопрос:

У меня проблема, я заменил файл в проекте (в XCode) новым файлом (для справки, и если это имеет значение, новый файл имеет то же имя, что и тот, который я удалил ранее).

Теперь, когда я пытаюсь зафиксировать свои изменения в XCode, я получаю сообщение об ошибке, подробно описанное выше, и не могу зафиксировать изменения (т.е. добавление нового файла).

В представлении файловой системы (в Xcode в левой части экрана) рядом с файлом находится буква R (указывающая Заменено в хранилище).

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

Спасибо

Ответы [ 4 ]

5 голосов
/ 14 декабря 2012

Существует ошибка или ограничение в Subversion при использовании файловых систем без учета регистра:

https://superuser.com/questions/303348/cant-checkout-in-subversion

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

Ваша проблема немного отличается, потому что я предполагаю, что файл filetoupdate.h (в старом регистре) больше не существует вваша файловая система.Так что это не случай конфликта в рабочем каталоге.Но я предполагаю, что SVN пытается создать файл в .svn/text-base с новым регистром, в то время как старый по-прежнему существует, и это не удается (по той же причине).

Вы можете попробовать удалить файлсначала из Subversion, сохраняя локальную копию (не проверено).Новая копия должна быть удалена из элемента управления SVN для успешной фиксации:

svn rm --keep-local --force FileToUpdate.h

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

svn rm --keep-local filetoupdate.h

Подтвердите это изменение:

svn commit

Теперь, надеюсь, вы можете добавить новый файл в систему управления версиями:

svn add FileToUpdate.h

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

1 голос
/ 13 июля 2012

Вы на Mac или Windows?Они имеют регистронезависимые файловые системы, которые вызывают указанную выше проблему, когда
файл в настоящее время существует с тем же именем, но с разными регистрами.

Чтобы исправить, извлеките дерево на компьютере с Linux, затем"svn rm" один из файлов.

0 голосов
/ 27 мая 2011

Похоже, что-то где-то запуталось.Чтобы исправить, я просто скопировал оскорбительные файлы, сохранил их под новым именем.Удалил оригиналы из проекта и добавил в проект скопированную (переименованную) версию файла.

Кажется, что SVN не понравится, если вы добавляете и удаляете файл с тем же именем,Я попытался очистить SVN через терминал, но это не повлияло на эту проблему.Но смена имени сработала для меня.

0 голосов
/ 25 мая 2011

Возможно, ваша локальная версия имеет проблемы с разрешением. Проверьте, есть ли у вашего пользователя права на запись для каталогов .svn.

удачи

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