Не удалось прочитать размер куска. Ошибка в SVN

Я восстановил репозиторий SVN с разбившегося ПК, и теперь я могу проверять файлы из нескольких каталогов, но в одном месте во время проверки он говорит:

Error: REPORT of '/svn/RepTest/!svn/vcc/default': Could not read chunk size: 
Secure connection truncated (https://mypc:8443) 

Может ли кто-нибудь мне помочь, как исправить этот репозиторий? Спасибо!

Ответ 1

У меня была такая же ошибка при попытке обновить проверку до последней версии. Некоторые попытки понять, что это был один конкретный файл, вызывающий проблему. Например:

root
  - A
    - AFileInFolderA.h
    - AnotherFileInFolderA.h
  - B
    - AFileInFolderB.h
  - C
    - AFileInFolderC.h

С структурой репо выше, AFileInFolderA.h был файлом проблемы. Я пришел к такому выводу, потому что мог делать и svn update в папках B и C, но не в root или папке A. Свернув дальше, я мог бы обновить AnotherFileInFolderA.h, но не проблему.

Во всяком случае, с учетом этой информации я скопировал изменения моей рабочей копии из папки A, затем (используя Tortoise SVN) выполнил выборочный Update To Revision в корневой папке, исключая папку A из моей проверки. Затем я сделал обратное, добавив папку в кассу. Наконец, я добавил свои локальные изменения и привязался к репо. Теперь все работает нормально.

Ответ 2

При проверке я получил ту же ошибку. Проблема была действительно с конкретными изменениями, поэтому я сделал обходной путь. Казалось, что изменения, вызвавшие ошибку, имели длинный путь. Другой взгляд на конкретные изменения заставил меня подумать, что, возможно, не должно быть под контролем источника. Эти файлы создавались автоматически при каждой сборке. Я просто сохранил другую копию всего каталога в папке "Устаревшие" и удалил проблемные файлы/папки. После удаления, проверка была в порядке.

Ответ 3

В последнее время у меня была такая же ошибка:

ОТЧЕТ "/svn/.../!svn/vcc/default": не удалось прочитать размер блока: Безопасное соединение усечено.

Мы используем Tortoise SVN, и я был единственным в команде, у которой была проблема. Поскольку проблема не помешала мне выполнить мои изменения, я сделал именно это. Затем я удалил папку с проектом с моего жесткого диска. Затем я снова создал его и сделал "SVN checkout".

Это то, что исправило это для меня.

Ответ 4

Для нас проблема отсутствовала в истории SVN (возможно, повреждение диска). Любая операция, включая файл, последнее изменение которого произошла из отсутствующего раздела истории, потерпит неудачу с ошибкой "не удалось прочитать размер блока" или неверной ошибкой XML (в зависимости от операции). К счастью, у нас была резервная копия, которая включала недостающие файлы. Восстановление их исправило проблему.

Ответ 5

У меня были похожие проблемы, для которых "svnadmin recover" действительно волшебным образом исправить ситуацию.

В другом репо это не будет... Используя клиент SVS версий (MacOSX), я мог видеть, что имя пользователя фиксации некоторых файлов в неверных каталогах было "### ERROR ###" - эти dirs давали мне проблема "Безопасное соединение усечена" при обновлении. Просто "переместить" файлы, у которых был этот маркер, в другой каталог и обратно (на сервере с помощью клиента SVN Версии) было достаточно, чтобы удалить маркер ### ERROR ### и включить успешное обновление.

Ответ 6

Еще один ответ кого-то с той же проблемой, однако с решением, которое еще не упоминалось:

В моем случае проблема не может быть указана на один файл. Однако он был явно связан с одной версией svn.

Решение в таком случае - пропустить извлечение плохой ревизии. Этого можно достичь, вызвав git svn fetch с опцией -r. Например, если r42 является плохой ревизией, и вы уже выбрали все версии до r41, просто выполните

git svn fetch -r43

за которым следует

git svn fetch

чтобы обновить репозиторий git. Конечно, очевидный недостаток этого подхода - это дыра в истории, которую вы получаете, но я думаю, что лучше иметь небольшую дыру в истории, чем обойтись без рабочего клонирования git svn.

Ответ 7

У меня была та же проблема, я использую TortoiseSVN и VisualSVN, проблема в одном из ваших коммитов, но трудно понять, какой она есть, решение для меня было удалить и создать репозиторий в VisualSVN, затем сделать то же самое в папку "checkout" на моем компьютере, после этого скопируйте проект в папку и сделайте "second firts commit":), но потеряете все предыдущие коммиты.