Eclipse egit: «Обнаружено повреждение файла пакета: неизвестная ошибка zlib». Как обойти? - PullRequest
1 голос
/ 16 марта 2011

У нас есть git-репозиторий, управляемый gitosis под Ubuntu, который хорошо работал до полного заполнения диска.Прочитав немного об этой проблеме, я обнаружил, что git gc и git gc --aggresive вернули мне немного дискового пространства.Очень хорошо.

К сожалению, в egit, похоже, что-то сломалось, так как я получаю это сообщение, когда пытаюсь клонировать наш репозиторий (на этапе извлечения около 10%)

Packfileобнаружено повреждение: неизвестная ошибка zlib.

Интересно, что git в msysgit работает так же хорошо, как и раньше.

Я попытался обновить egit до ночной сборки 0.12, так как было несколько сообщений в списке рассылки, намекающих, что это было исправлено в течение последней недели, но безрезультатно.

Мой вопрос сейчас таков:я могу сделать с моим хранилищем, чтобы добраться до состояния, где egit снова работает?У меня есть полный контроль над экземпляром Ubuntu, на котором выполняется gitosis.


РЕДАКТИРОВАТЬ: я получил трассировку стека из журнала событий Eclipse

org.eclipse.jgit.errors.TransportException: Packfile corruption detected: Unknown zlib error.
    at org.eclipse.jgit.transport.BasePackFetchConnection.doFetch(BasePackFetchConnection.java:287)
    at org.eclipse.jgit.transport.BasePackFetchConnection.fetch(BasePackFetchConnection.java:225)
    at org.eclipse.jgit.transport.FetchProcess.fetchObjects(FetchProcess.java:214)
    at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:149)
    at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:111)
    at org.eclipse.jgit.transport.Transport.fetch(Transport.java:903)
    at org.eclipse.egit.core.op.CloneOperation.doFetch(CloneOperation.java:228)
    at org.eclipse.egit.core.op.CloneOperation.run(CloneOperation.java:135)
    at org.eclipse.egit.ui.internal.clone.GitCloneWizard.executeCloneOperation(GitCloneWizard.java:259)
    at org.eclipse.egit.ui.internal.clone.GitCloneWizard.access$3(GitCloneWizard.java:252)
    at org.eclipse.egit.ui.internal.clone.GitCloneWizard$4.run(GitCloneWizard.java:233)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: org.eclipse.jgit.errors.CorruptObjectException: Packfile corruption detected: Unknown zlib error.
    at org.eclipse.jgit.transport.PackParser$InflaterStream.read(PackParser.java:1530)
    at org.eclipse.jgit.transport.PackParser$InflaterStream.skip(PackParser.java:1500)
    at org.eclipse.jgit.util.IO.skipFully(IO.java:203)
    at org.eclipse.jgit.transport.PackParser.inflateAndSkip(PackParser.java:1352)
    at org.eclipse.jgit.transport.PackParser.indexOneObject(PackParser.java:834)
    at org.eclipse.jgit.transport.PackParser.parse(PackParser.java:448)
    at org.eclipse.jgit.storage.file.ObjectDirectoryPackParser.parse(ObjectDirectoryPackParser.java:178)
    at org.eclipse.jgit.transport.PackParser.parse(PackParser.java:410)
    at org.eclipse.jgit.transport.BasePackFetchConnection.receivePack(BasePackFetchConnection.java:649)
    at org.eclipse.jgit.transport.BasePackFetchConnection.doFetch(BasePackFetchConnection.java:280)
    ... 11 more

Редактировать: Открыт https://bugs.eclipse.org/bugs/show_bug.cgi?id=340305

Ответы [ 3 ]

1 голос
/ 17 марта 2011

Один из способов получить клон без EGit - это:

  • сделать связку на сервере
  • скопировать уникальный файл, представляющий этот пакет на стороне клиента
  • попытаться клонировать его в командной строке.

Поскольку вы упоминаете, что вы можете обработать пакет с помощью msysgit, это указывает на ошибку на стороне Egit или JGit, как показано на bug 330758 .
Обычный курс действий - обновить до последней ночной версии EGit, используя этот p2 сайт обновлений , и посмотреть, сохраняется ли проблема до сих пор.
Если проблема не устранена, вы можете отправить отчет об ошибке или дополнить существующий (330758).

0 голосов
/ 31 мая 2011

Последний egit 0.12 не показывает такое поведение.

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

0 голосов
/ 16 марта 2011

Пожалуйста, проверьте версии Git, которые вы используете, и убедитесь, что они совпадают.

...