Вопрос

Я рву на себе волосы из-за этого.

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

Запуск статуса svn дал мне знак «~» рядом с папкой A.Запуск очистки svn показал, что родительский элемент 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)

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

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

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

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

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

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

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

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

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

Это моя среда, 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. обновлять.Этим действием папка удалилась в моей рабочей копии.
  3. Преданный все мои изменения.
  4. запустил инструмент, который создать папку (снова).
  5. с черепаховым SVN, который я отметил значком добавить в список игнорирования.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top