У меня есть рабочая копия Subversion с хотя бы одним отсутствующим файлом (локальная копия удалена при устранении конфликта дерева). Это смешно, потому что файл имеет версию, он появляется в репозитории, разрешение конфликтов на дереве было на 100% локально (это произошло при обновлении, и я не совершал потом), и я запускал "svn cleanup" несколько раз, но ни один из моих Клиенты Subversion (командная строка svn и TortoiseSVN) могут обнаружить, что рабочая копия повреждена. Даже не возвращая все изменения, этот файл вернулся.
Я исправлю это как обычно (свежая проверка в другом месте и копирование изменений с помощью WinMerge); На самом деле у меня другой вопрос:
Как вы можете проверить работоспособность рабочей копии?
Конечно, вы всегда можете проверить новую копию и использовать утилиту сравнения файлов, но... нет ли лучшего способа? Есть ли инструмент для проверки рабочей копии, эквивалентной svnadmin verify
?
=== UPDATE ===
У меня есть хорошие ответы с трюками, чтобы предотвратить повреждение рабочей копии, но мой вопрос был скорее на том, чтобы найти метод, чтобы быть на 100% уверенным, что рабочая копия является последовательной и связана с фактическим содержимым репозитория; в других работах - рабочая копия, эквивалентная команде svnadmin verify.
Пока это выглядит так:
-
Subversion не предоставляет такого инструмента, и возможно, что формат данных SVN даже не позволяет записать его.
-
Обновление для пересмотра - это метод, который, как представляется, находит (и исправляет) некоторые проблемы, хотя вам часто приходится возвращаться назад и вперед к старой ревизии, и я полагаю, что он может обнаруживать только отсутствующие файлы, если они были изменен в диапазоне ревизий.
-
Проверка новой рабочей копии выглядит как единственный 100% надежный метод.