2014-10-23 3 views
3

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

Updating 'trunk/src/Makefile': 
svn: E155017: Checksum mismatch for '/Volumes/project/dev/torc/trunk/src/Makefile': 
    expected: 78ee11ff73f3b68c903db838b6667ec3 
    recorded: 62bbbf4362958e3fd42470650d5b4eb6 

Я прочитал через SVN - Checksum mismatch while updating, и два основных решения для изменения .svn/entries или удалить и восстановить каталог , В файле верхнего уровня .svn/entries нет ничего полезного в файле ниже 1.7, и удаление и восстановление каталога не помогло решить мою проблему. Есть ли у кого-нибудь другие предложения?

+1

You * do * есть .svn каталоги при использовании 1.7. В каждой кассе есть одна, и она находится в основе проверки. Он обычно помечен как скрытый, поэтому убедитесь, что вы видите скрытые файлы/папки. –

+0

Возможный дубликат [SVN - несоответствие контрольной суммы при обновлении] (http://stackoverflow.com/questions/10352934/svn-checksum-mismatch-while-updating) –

+0

@PatrickQuirk, вы правы в одном .svn каталоге в корень рабочей копии. Но файл записей внутри него в основном пуст, и большой файл wc.db, который я вижу, не читается человеком. Вот почему я чувствовал, что http://stackoverflow.com/questions/10352934/svn-checksum-mismatch-while-updating не применим для Subversion 1.7. –

ответ

0

Это очень просто. Скопируйте файл проблемы на свой компьютер в другой каталог. Удалите с компьютера файл проблемы и зафиксируйте. Сделайте svn на сервере. Теперь верните файл в каталог inicial, сделайте добавление и фиксацию. И сделайте новый svn на сервере. Проблема решена.

+0

Если я это сделаю, я потеряю всю историю изменений для этого файла. –

5

Это может быть старый вопрос, но я хотел бы поделиться тем, как я разрешил его, не проверив весь (несколько GB) репозиторий. Надеюсь, это поможет людям, которые имеют такую ​​же проблему.

Я использую TortoiseSVN для Windows.

  1. Открыть Repo-Browser, щелкнув правой кнопкой мыши на родительской папке файла и выбрав TortoiseSVN> Repo-Browser
  2. в репо-браузер, щелкните правой кнопкой мыши на файле, выберите пункт Обновление для Редакция
  3. В раскрывающемся меню Глубина обновления, выберите Исключить, нажмите кнопку ОК. Это удаляет запись контрольной суммы из базы данных локального репозитория.
  4. Удалить файл в Explorer (мусорной корзины), обновить репозиторий
  5. Вернуться к «Обновить элемент до ревизии», для обновления Depth выбрать рабочую копию
  6. Обновить ваш репозиторий снова

Все должно вернуться к нормальной жизни.

+0

Работы, это должен быть принятый ответ :) – eHx

+0

@eHx К сожалению, у меня нет возможности использовать ToroiseSVN под Linux. –

1

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

Я использую SVN 1.8.4 под Cygwin.

шагов, чтобы решить проблему:

  • обратно изменения, если таковые
  • обратно .svn/нетронутых (в корневой папке туалета в беде)
  • подготовить ссылки туалета: ('svn commit/revert; svn update')
  • заменить .svn/нетронутую проблему с одной из ссылки wc
  • наслаждаться :)
1

Я использую Subversion 1.7+ (Tortoise), и решил эту проблему двумя простыми способами:

a. svn update --set-depth = пусто

b. svn update --set-depth = infinity

Напомним, что на этом этапе a удалит все ваши локальные файлы в этой папке! Поэтому имейте в виду, что сначала сделайте копию.

 Смежные вопросы

  • Нет связанных вопросов^_^