Ответ 1
Способ работал у меня:
- Сделать копию проблемного файла.
- Revert.
- Отменить и добавить элемент игнорирования.
- Commit.
- Owerwrite игнорирует файл из копии.
- Добавить файл обратно в SVN.
- Commit.
Я пытаюсь зафиксировать изменение subversion в файле. Этот файл принадлежит каталогу, который связан с моим проектом через внешний, и привязан к определенной ревизии.
Когда я совершаю фиксацию, я получаю сообщение об ошибке:
Commit failed
Base checksum mismatch on....
Я попытался снова проверить каталог, чтобы убедиться, что он чист и выполнить коммит снова, но я все равно получаю ту же ошибку.
Может быть, это связано с фиксацией привязанного файла? Я думал, что фиксация на файл, который привязан, должен быть возможен и, по сути, отделяет этот код?
Способ работал у меня:
Скопируйте все файлы в проект во временную папку резервного копирования. Нажмите "Восстановить" в исходной папке проекта. Измените файлы с резервной папкой, скопируйте измененные файлы в исходную папку проекта. Commit и исходная папка вернутся к нормальной работе.
Просто эта проблема возникла по двум проектам, и этот метод работал.
Способ, который работал лучше всего для меня, был:
Что для меня работало:
svn up --set-depth=empty
затем
svn up --set-depth=infinity
ошибка исчезла!
У меня была эта проблема, но удаление папок, похоже, ничего не дало.
Мне удалось исправить это, извлекая те же исходные файлы в другое место и копируя файлы, которые имели эти проблемы.
Очистить/вернуть/обновить (после удаления файлов) ничего не сделал.
Я использую Windows 7 с tortoisesvn 1.7.11 64-битной версией.
Ваша рабочая копия может быть повреждена. Вы можете попробовать отремонтировать его с помощью SmartSVN (выберите "Изменить" | "Проверить область администратора" ). Если это не поможет, то поможет только свежая проверка.
Что сработало для меня:
После этого коммиты и обновления, похоже, работают правильно.
Проверьте версию SVN на сервере, это может быть несоответствие с вашей локальной версией svn.
1. Проверьте версию SVN, выполнив следующую команду и обновив ее, если это не соответствует вашей версии сервера.
svn --version
2. Оформить заказ проекта с последней версией SVN (т.е. Версии вашего сервера svn).
3. Зафиксируйте файл.
Примечание. Он будет работать только для случая несоответствия версии SVN.
У меня была такая же проблема, и я использовал консольный клиент, чтобы справиться с ней:
У меня была такая же проблема, и я использовал консольный клиент, чтобы справиться с ней:
svn rm filename
svn add filename
Я решил проблему следующим образом
Сначала сделайте резервную копию папки, в которой проблема
2ns, удали исходную папку и зафиксируй ее.
В-третьих, скопируйте папку из резервной копии
В-четвертых, я мог зафиксировать эту папку без проблем
Это может не быть хорошим решением, так как я удаляю папку и фиксирую, так что я думаю, что не могу отменить ее после того, как исправлю эту проблему, если захочу.
Самый простой способ ИМХО это:
1. Извлеките последнюю копию из вашего хранилища в какой-либо каталог (например, TTTT).
2. Скопируйте содержимое TTTT/.svn в ваш обычный исходный каталог (переопределите существующее содержимое).
Вы сделали - исходный каталог может быть зафиксирован.
Для меня новая проверка была бы очень трудоемкой (несколько гигов, тысячи файлов). Что я сделал: