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

Subversion: несоответствие базовой контрольной суммы

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

Когда я совершаю фиксацию, я получаю сообщение об ошибке:

Commit failed
Base checksum mismatch on....

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

Может быть, это связано с фиксацией привязанного файла? Я думал, что фиксация на файл, который привязан, должен быть возможен и, по сути, отделяет этот код?

4b9b3361

Ответ 1

Способ работал у меня:

  • Сделать копию проблемного файла.
  • Revert.
  • Отменить и добавить элемент игнорирования.
  • Commit.
  • Owerwrite игнорирует файл из копии.
  • Добавить файл обратно в SVN.
  • Commit.

Ответ 2

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

Просто эта проблема возникла по двум проектам, и этот метод работал.

Ответ 3

Способ, который работал лучше всего для меня, был:

  • Выполнение экспорта всей папки, которая не будет выполняться (например, с использованием Tortoise)
  • Удалить папку в SVN (также используя ваш SVN-клиент)
  • Поместите папку, в которую вы экспортировали все, в том же месте, что и ранее удаленная папка, желательно с тем же именем
  • Добавить и скопировать папку
  • Вы вернулись туда, где были, не теряя своих изменений и без неправильных контрольных сумм!

Ответ 4

Что для меня работало:

svn up --set-depth=empty

затем

svn up --set-depth=infinity

ошибка исчезла!

Ответ 5

У меня была эта проблема, но удаление папок, похоже, ничего не дало.

Мне удалось исправить это, извлекая те же исходные файлы в другое место и копируя файлы, которые имели эти проблемы.

Очистить/вернуть/обновить (после удаления файлов) ничего не сделал.

Я использую Windows 7 с tortoisesvn 1.7.11 64-битной версией.

Ответ 6

Ваша рабочая копия может быть повреждена. Вы можете попробовать отремонтировать его с помощью SmartSVN (выберите "Изменить" | "Проверить область администратора" ). Если это не поможет, то поможет только свежая проверка.

Ответ 7

Что сработало для меня:

  • Сделать копию текущей версии файла.
  • svn rm 'filename'
  • svn ci
  • измените имя файла на оригинал
  • svn добавить 'filename'
  • svn ci

После этого коммиты и обновления, похоже, работают правильно.

Ответ 8

Проверьте версию SVN на сервере, это может быть несоответствие с вашей локальной версией svn.

1. Проверьте версию SVN, выполнив следующую команду и обновив ее, если это не соответствует вашей версии сервера.

svn --version 

2. Оформить заказ проекта с последней версией SVN (т.е. Версии вашего сервера svn).

3. Зафиксируйте файл.

Примечание. Он будет работать только для случая несоответствия версии SVN.

Ответ 9

У меня была такая же проблема, и я использовал консольный клиент, чтобы справиться с ней:

  • Резервные файлы
  • Удалить файлы из repo с помощью svn rm filename
  • Зафиксировать его
  • Скопировать файлы из резервной копии svn добавить имя файла
  • Зафиксировать его

Ответ 10

У меня была такая же проблема, и я использовал консольный клиент, чтобы справиться с ней:

  • Резервные файлы
  • Удалить файлы из репо svn rm filename
  • Зафиксировать его
  • Скопировать файлы из резервной копии svn add filename
  • Зафиксировать его

Ответ 11

Я решил проблему следующим образом
Сначала сделайте резервную копию папки, в которой проблема
2ns, удали исходную папку и зафиксируй ее.
В-третьих, скопируйте папку из резервной копии
В-четвертых, я мог зафиксировать эту папку без проблем

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

Ответ 12

Самый простой способ ИМХО это:
1. Извлеките последнюю копию из вашего хранилища в какой-либо каталог (например, TTTT).
2. Скопируйте содержимое TTTT/.svn в ваш обычный исходный каталог (переопределите существующее содержимое).
Вы сделали - исходный каталог может быть зафиксирован.

Ответ 13

Для меня новая проверка была бы очень трудоемкой (несколько гигов, тысячи файлов). Что я сделал:

  • удалить файл с поврежденными метаданными (сохранить локальный файл или создать резервную копию)
  • он не жаловался на несоответствие метаданных
  • совершить
  • добавить файл обратно в рабочую копию
  • совершать!
  • прибыль!