We have a git repository managed by gitosis under Ubuntu, which has worked well all up to the disk ran full. After reading up a bit on the issue, I found that git gc
and git gc --aggresive
got me quite a bit of diskspace back. Very nice.
Unfortunately this appears to have broken something in egit, as I get this message when trying to clone our repository (during the checkout phase at around 10%)
Packfile corruption detected: Unknown zlib error.
Interestingly enough the git in msysgit works just fine as before.
I tried upgrading egit to the nightly build of 0.12 as there was some mailing list messages hinting this had been fixed within the last week, but to no avail.
My question now is, what can I do to my repository to get to a state where egit works again? I have full control over the Ubuntu instance running gitosis.
EDIT: I got a stack trace from the Eclipse event log
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
Edit: Opened https://bugs.eclipse.org/bugs/show_bug.cgi?id=340305