SVN - ошибка не рабочей копии

Я вытаскиваю свои волосы на этом.

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

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

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

15.12.2008 12:56:58
10 ОТВЕТОВ
РЕШЕНИЕ

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

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

20
15.12.2008 13:07:06

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

0
15.12.2008 13:00:57

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

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

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

11
16.12.2008 13:27:00

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

Запуск svn status дал мне «~» рядом с папкой A. Запуск 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)
26
5.05.2009 17:53:13
Это не сработало для меня с первой попытки. Во второй попытке я добавил svn commit после svn rm, и это, похоже, помогло. Спасибо за совет! +1.
jwismar 5.08.2011 18:58:51

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

2
17.11.2009 15:52:51

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

1
13.02.2010 07:42:26

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

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

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

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

0
26.05.2011 14:39:08

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

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

1
1.09.2011 23:00:03

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

0
24.01.2014 08:15:46

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

0
28.08.2016 06:42:24