SVN - ошибка не рабочей копии - PullRequest
26 голосов
/ 15 декабря 2008

Я тяну свои волосы на этом.

У меня есть сайт, который управляется версией с использованием Subversion. Я использую Aptana (Eclipse, Subclipse), чтобы сделать SVN. Я проверял файлы, обновлялся и т. Д., И все в порядке. Однако система, которую мы строили, добавляла свои собственные файлы и папки.

Когда я пытаюсь зафиксировать их, мне сообщается, что <path> не рабочая копия. Если я пытаюсь выполнить очистку, то выдает ту же ошибку. Я обнаружил, что могу вручную добавить каждый файл в систему управления версиями, но это выдает ту же ошибку. Обновление не помогает, обновление рабочей области также ничего не делает. Кажется, что очистка прекращается после ошибки, а затем каталог блокируется.

Я знаю, что вы должны добавлять файлы, используя SVN, но как вы работаете с созданными файлами? Как обойти эту ошибку "<folder> не каталог рабочей копии"? Как мне заставить Subversion просто посмотреть на файлы и добавить их в свой репозиторий?

Ответы [ 10 ]

26 голосов
/ 05 мая 2009

У нас была эта проблема сегодня, когда я пытался добавить папку «A», в которой у меня не было разрешения на запись (поэтому он не мог создать папку A / .svn).

Запуск статуса SVN дал мне «~» рядом с папкой А. Запуск svn cleanup сказал, что родитель A заблокирован.

В итоге получилось:

cp -r A A~    # backup, since A was not in the repo
rm -rf A      # removed locked directory
svn rm A      # remove A from pending commit
mv ~A A       # restore backup
svn add A     # re-add to pending commit
svn cleanup   # (had to cleanup several parent folders higher as well)
20 голосов
/ 15 декабря 2008

Если вы хотите, чтобы сгенерированные файлы были добавлены в SVN, используйте svn add для их рекурсивного добавления - это позволит убедиться, что все каталоги являются частью рабочей копии, а все файлы и каталоги добавлены в SVN, и быть совершенным как часть следующего svn commit.

Однако часто создаваемые файлы и папки не следует добавлять в SVN, поскольку они генерируются из исходных файлов как часть сборки. В этом случае вы должны пометить svn: ignore , чтобы они не были частью рабочей копии.

11 голосов
/ 16 декабря 2008

не ошибка рабочей копии означает, что текущая папка не была правильно инициализирована SVN .

Чтобы исправить ошибку, просто переименуйте текущую папку, а затем получите правильную рабочую копию проекта из SVN , выполнив извлечение проекта.

В результате проверки создается правильно настроенная рабочая копия этого проекта.

2 голосов
/ 17 ноября 2009

Я только что столкнулся с ошибкой "не рабочая копия" в моей, хм, рабочей копии. Это было для проекта JDeveloper, и оказалось, что обновление JDeveloper (11.1.1.2.0), которое я только что установил, включало более позднюю версию SVNKit, чем та, которую я использую для доступа к SVN из командной строки (jsvn). Поэтому JDeveloper незаметно обновил формат файлов .svn, что означало, что клиент командной строки не мог их понять. Пенни упал, когда jsvn пожаловался на отсутствующий файл ".svn / format" в каталоге верхнего уровня моего проекта. Я нашел их в подпапках, все они выглядят одинаково и содержат только цифру «9». Поэтому я скопировал один файл в папку верхнего уровня, и jsvn, наконец, дал соответствующее сообщение: «svn: Этот клиент слишком стар, чтобы работать с рабочей копией«. »; Пожалуйста, получите более новый клиент Subversion». После того как я определил (через Google) и установил совместимый клиентский уровень SVNKit, новый улучшенный jsvn смог распознать, что моя рабочая копия действительно является рабочей копией. Мораль истории: если вы получаете эту ошибку и используете разные SVN-клиенты на одном компьютере, проблема может заключаться в том, что они вышли из синхронизации.

1 голос
/ 02 сентября 2011

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

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

1 голос
/ 13 февраля 2010

Натолкнулся на это теперь, используя TortoiseSVN для очистки некоторых мертвых каталогов. Я сделал резервную копию файлов, а затем с помощью браузера rep удалил неисправный каталог (который все равно был конченым). Затем сработала очистка проекта, и теперь я могу продолжать работу с моими текущими файлами.

0 голосов
/ 28 августа 2016

пожалуйста move текущий каталог в другом месте и выполните команду svn update, затем замените каталог на перемещенный каталог
если вы используете tortoisteSVN, вы можете перед запуском svn update запустить очистку вашего корневого каталога

0 голосов
/ 24 января 2014

в моем случае я перемещаю место рабочего пространства затмения в другое, тогда возникает проблема. Для решения проблемы я оформляю проект из svn repo. Затем в старом проекте я очищаю все файлы SVN. (простой поиск .svn и удаление), затем я копирую содержимое в только что извлеченный, мои изменения становятся видимыми, и мой проект обновлен. Этот метод может быть применен для других досадных ошибок. Надеюсь помочь кому-нибудь

0 голосов
/ 15 апреля 2010

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

Это моя среда, Windows XP. tortoiseSVN 1.6.7 с Subversion 1.6.9, Eclipse 3.5 с Subclipse 1.6.10. и хранилище управляется с помощью визуального SVN-сервера через Windows.

  1. В Visual SVN-сервере я удалил папку , созданную другим инструментом (как и говорила Келтиа, это была проблема).
  2. В моем проводнике Windows щелкните правой кнопкой мыши по моему проекту и с параметрами черепахи SVN нажмите update . Благодаря этому действию папка была удалена в моей рабочей копии.
  3. Передано все мои изменения.
  4. запустил инструмент, создавший папку (снова).
  5. с черепахой SVN Я пометил добавить в список игнорирования .

Надеюсь, это поможет.

0 голосов
/ 15 декабря 2008

«Не рабочая копия» означает, что одно из мест, где ваша IDE пытается запустить svn, не контролируется самой svn (например, добавление файлов в подкаталог, не находящийся в svn). Я бы сказал, проверьте ваши пути в IDE.

...