У меня много изменений в рабочей папке, и что-то напортачило, пытаясь сделать обновление.
Теперь, когда я запускаю 'svn cleanup', я получаю:
>svn cleanup .
svn: In directory '.'
svn: Error processing command 'modify-wcprop' in '.'
svn: 'MemPoolTests.cpp' is not under version control
MemPoolTests.cpp - это новый файл, добавленный другим разработчиком, который был сброшен при обновлении. Он не существовал в моей рабочей папке раньше.
Могу ли я что-нибудь сделать, чтобы попытаться продвинуться вперед без необходимости извлекать свежую копию хранилища?
Пояснение: Спасибо за предложения о том, как убрать каталог с пути и убрать новую копию. Я знаю, что это вариант, но я бы хотел его избежать, так как есть много изменений, вложенных в несколько каталогов (это должна была быть ветвь ...)
Я надеюсь на более агрессивный способ очистки, возможно, каким-то образом заставить файл SVN испытать проблемы с возвращением в известное состояние (и я попытался удалить его рабочую копию ... это не помогло).
Ответы:
При запуске все сначала не вариант ...
Я удалил файл журнала в
.svn
каталоге (я также удалил поврежденный файл в.svn/props-base
), сделал очистку и возобновил свое обновление.источник
find . -type f -name lock
sudo rm -rf | find . -type f -name lock
.svn/prop-base
у меня.svn/[pristine|tmp|entries|format|wc.db]
С SVN 1.7 все изменилось, и популярное решение удаления файла журнала в каталоге .svn не представляется возможным при переходе к реализации рабочей копии базы данных.
Вот то, что я сделал, казалось, сработало:
Это все немного сбивает с толку, процесс мудрый. По сути, мы делаем удаление поврежденных .svn, а затем создаем новые .svn для того же пути извлечения. Затем мы перемещаем этот новый .svn в наш старый рабочий каталог и обновляем его до репозитория.
Я только что сделал это в ЦВН, и он, кажется, работает нормально и не требует полной проверки и загрузки.
-Jody
источник
svn cleanup --force
. И, конечно, все операции добавления, удаления и (с 1.8) переименования теряются.Взгляни на
http://www.anujvarma.com/svn-cleanup-failedprevious-operation-has-not-finished-run-cleanup-if-it-was-interrupted/
Сводка исправления сверху ссылка (спасибо Anuj Varma)
источник
Если все остальное терпит неудачу:
источник
Последняя версия (я использую 1.9.5) решает эту проблему, добавив опцию «Снять блокировки» в меню очистки. Просто убедитесь, что этот флажок установлен при выполнении очистки.
источник
Этот ответ относится только к версиям до 1.7 (спасибо @ ŁukaszBachman) .
Subversion хранит информацию о каждой папке (в формате .svn), поэтому, если вы имеете дело с подпапкой, вам не нужно извлекать весь репозиторий - только папку, которая разбилась:
Это даст вам хорошую рабочую копию папки borked, но ваши изменения сохранятся в файле borked_dir.bak. Тот же принцип применим к Windows / TortoiseSVN.
Если у вас есть изменения в изолированной папке, посмотрите на
или
источник
svn up
тем же репо, что и посредиsvn up
другой вкладки, - я забыл, что сделал это, и оставил его незавершенным прошлой ночью..svn
каталог.затем
Надеюсь, поможет
источник
У меня была точно такая же проблема. Я не мог совершить, и очистка потерпела бы неудачу.
Используя клиент командной строки, я смог увидеть сообщение об ошибке, указывающее, что не удалось переместить файл из
.svn/props
в.svn/prop-base
.Я посмотрел на конкретный файл и обнаружил, что он был помечен только для чтения. После удаления атрибута «только для чтения» я смог очистить папку и зафиксировать мои изменения.
источник
Возможно, у вас есть проблема с двумя именами файлов, различающимися только заглавными буквами. Если вы столкнулись с этой проблемой, создание другого каталога рабочей копии не решит проблему.
Современные файловые системы Windows (т.е. дрянные) просто не понимают разницу между
Filename
иFILEname
. У вас есть два возможных исправления:svn rename -m "broken filename case" http://server/repo/FILEname http://server/repo/filename
источник
Запустите
svn cleanup
команду в терминале (если он выйдет из Eclipse, как в моем случае):Я пробовал разные решения, объясненные здесь, но ни один не работал .
Команда действий → Не удается обновить голову :
Действие команды → Очистка завершается с той же ошибкой.
Решение, которое сработало для меня: запустите команду svn cleanup в терминале .
Команда выполнена успешно.
Тогда Команда → Обновление в Eclipse снова заработала.
Примечание: моя версия SVN 1.9.3.
Также проверьте ответ Криса, если
svn cleanup
не работает.источник
Я пытался сделать
svn cleanup
через консоль и получил ошибку, как:Поэтому я создал этот файл вручную (пустой) и сделал
svn cleanup
снова. На этот раз это было сделано хорошо.источник
У меня такая же проблема. Для меня причиной стал конфликт с EasySVN и (TortoiseSVN или просто SVN). У меня было автоматическое обновление и коммит с EasySVN (который не работал).
Когда я отключил это, я не смог очистить, зафиксировать или обновить. Ни одно из вышеперечисленных решений не сработало, но перезагрузка сделала :)
источник
У меня была такая же проблема на Windows 7 64-bit. Я запустил консоль как администратор и удалил каталог .svn из проблемного каталога (получил ошибку в журналах или что-то в этом роде, но проигнорировал ее). Затем в проводнике я удалил проблемный каталог, который больше не показывался как под управлением версиями. Затем я запустил обновление, и все пошло так, как ожидалось.
источник
Если проблема заключается в чувствительности к регистру (что может быть проблемой при выходе на Mac, а также в Windows), и у вас нет возможности проверить систему * nix, должно работать следующее. Вот процесс с самого начала:
(Оформить заказ следует ... затем ...)
Здесь SVN пытается проверить два файла с похожими именами, которые отличаются только регистром -
Header_3_noBookmark.gif
иHeader_3_nobookmark.gif
. Файловые системы Mac по умолчанию нечувствительны к регистру таким образом, что SVN задыхается в подобных ситуациях. Так...Однако бег
svn cleanup
не работает, как мы знаем.spacer.gif
проблема не в этом ... Он просто не может перейти от предыдущей ошибки к следующему файлу. Поэтому я удалил все файлы из каталога, кроме.svn
, и удалил журнал SVN. Это заставило очистку работать, так что я мог проверить и переименовать нарушающий файл.После этого я смог вернуться в корневой каталог проекта и запустить,
svn up
чтобы проверить остальную часть.источник
Всякий раз, когда у меня возникают подобные проблемы, я использую rsync (примечание: я использую Linux или Mac OS X), чтобы помочь так:
Таким образом, у вас есть новая проверка, но с теми же рабочими файлами. Для меня это всегда работает как шарм.
источник
Я столкнулся с этим слишком поздно. Хитрость для меня заключалась в том, что после выбора «Очистить» в диалоговом окне параметров всплывающего окна выберите «Снять блокировки», а затем «ОК». Удачно зачищено для меня.
источник
Subclipse смущает по-настоящему дьявольское поведение блокировки Windows. Unlocker твой друг. Это может найти заблокированные файлы и принудительно снять блокировки.
источник
(Прежде чем пытаться перемещать папки и делать новые проверки.)
Удалите папку, в которой находятся поврежденные файлы, - да, даже
.svn
папку, затем сделайте ееsvn cleanup
в самой верхней / родительской папке.источник
Я столкнулся с той же проблемой. После некоторых поисков в интернете нашел ниже статью . Затем понял, что я вошел как пользователь, отличный от пользователя, которого я использовал для настройки SVN, в основном проблема с разрешениями.
источник
Когда я сталкиваюсь с этой проблемой в TortoiseSVN (Windows), я захожу в Cygwin и оттуда запускаю ' svn cleanup '; он у меня корректно очищается, после чего все работает от TortoiseSVN.
источник
Ответы здесь не помогли мне, но перед повторной проверкой проекта я закрыл и открыл Eclipse (Subversive - мой клиент SVN), и проблема исчезла.
источник
Это может применяться не во всех ситуациях, но когда я недавно столкнулся с этой проблемой, мое «исправление» заключалось в обновлении пакета Subversion в моей системе. Я работал с 1.4.something, и когда я обновился до последней версии (1.6.6 в моем случае), проверка работала.
(Я попытался повторно загрузить его, но извлечение в чистый каталог всегда зависало в одном и том же месте.)
источник
Блокировка только для чтения иногда происходит на сетевых дисках с Windows. Попробуйте отключить и снова подключить его. Затем очистите и обновите.
источник
После просмотра большинства решений, которые здесь приведены, я все еще получал ошибку.
Этот вопрос был чувствителен к регистру OS X . Извлечение каталога, в котором есть два файла с одинаковыми именами, но с разной капитализацией, вызывает проблему. Например, ApproximationTest.java и Approximationtest.java не должны находиться в одном каталоге. Как только мы избавимся от одного из файлов, проблема исчезнет.
источник
Я столкнулся с проблемой, когда после обновления SVN показывал папку как конфликтующую. Как ни странно, это было видно только через командную строку - TortoiseSVN думал, что все в порядке.
svn cleanup
,svn revert
,svn update
Иsvn resolve
все они были неудачными при фиксации этого.В конце концов я решил проблему следующим образом:
После этого все было хорошо.
Обратите внимание, что у меня не было локальных изменений, поэтому я не знаю, рискнул бы ты, если бы сделал. Я не использовал метод удаления / обновления, предложенный другими, - я попал в это состояние, попробовав его в каталоге my_dir / sub_dir / sub_sub_dir (который начинался с тех же симптомов) - поэтому я не хотел рисковать ухудшением ситуации очередной раз!
Не совсем по теме, но, возможно, полезно, если кто-то сталкивается с этим постом, как я.
источник
Нет нет нет! Если вы используете SVN 1.7 или выше, команда очистки должна сделать эту работу!
Я также провел несколько экспериментов и обнаружил, что решением (по крайней мере, в Eclipse ) было выполнение очистки только для папки, указанной в сообщении об ошибке, а не для всего проекта!
источник
Я сделал,
sudo chmod 777 -R .
чтобы иметь возможность изменить разрешения. Безsudo
этого это не сработало бы, выдавая ту же ошибку, что и другие команды.Теперь вы можете делать
svn update
что угодно, не выбрасывая весь каталог и не создавая его заново. Это особенно полезно, поскольку в вашей IDE или текстовом редакторе уже могут быть открыты определенные вкладки или возникли проблемы с синхронизацией. Вам не нужно удалять и заменять ваш рабочий каталог этим методом.источник
Я решил эту проблему, скопировав каталог моего коллеги .svn в мою, а затем обновив свою рабочую копию. Это было хорошее, быстрое и чистое решение.
источник
В предыдущем ответе есть несколько очень хороших советов, но если у вас возникла проблема с TortoiseSVN в Windows (хороший продукт, но ...), всегда возвращайтесь к командной строке и сначала выполняйте простую «очистку svn».
Во многих случаях клиент Windows не будет запускать команду очистки, но очистка работает нормально, используя утилиту командной строки SVN.
источник
Несмотря на аналогичную проблему, ручное слияние в представлении синхронизации репозитория помогло решить проблему.
Одно имя файла конфликтовало с другим, и в нем явно упоминалась проблема. Переименование нового файла в другое имя разрешило его.
источник