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

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

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

У меня есть сайт, который контролируется версиями с помощью Subversion. Я использую aptana (eclipse, subclipse) для выполнения svn. Я проверяю файлы, обновляю их и т.д., И все в порядке. Однако система, которую мы строили, добавляла свои собственные файлы и папки.

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

Запуск статуса svn дал мне "~" рядом с папкой 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)

Ответ 3

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

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

Затем вы можете создать правильно сконфигурированную рабочую копию этого проекта.

Ответ 4

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

Ответ 5

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

Ответ 6

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

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

Ответ 7

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

Ответ 8

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

Я пробовал команду aptana → добавить к управлению версиями, и она просто бросает ту же ошибку. Есть много небольших файлов, возможно ли svn добавить целую директорию?

Ответ 9

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

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

  • На визуальном сервере svn я удалил папку, созданную другим инструментом (это была проблема, как сказал Келтия).
  • В моем проводнике Windows щелкните правой кнопкой мыши по моему проекту и с вариантами черепахи SVN нажмите update. С помощью этого действия папка была удалена в моей рабочей копии.
  • Принято все мои изменения.
  • запустил инструмент, который создает папку (снова).
  • с черепахой SVN Я отмечен знаком добавить в игнор.

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

Ответ 10

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

Ответ 11

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