1

Ubuntu の下で gitosis によって管理される git リポジトリがあり、ディスクがいっぱいになるまですべてうまく機能しました。この問題について少し読んだ後、私はそれを発見しgit gcgit gc --aggresiveかなりのディスク容量を取り戻しました. 非常に素晴らしい。

残念ながら、リポジトリのクローンを作成しようとするとこのメッセージが表示されるため、egit で何かが壊れているようです (約 10% のチェックアウト段階で)。

Packfile の破損が検出されました: 不明な zlib エラーです。

興味深いことに、msysgit の git は以前と同じように問題なく動作します。

egit を 0.12 のナイトリー ビルドにアップグレードしようとしましたが、メーリング リストのメッセージで、これが先週修正されたことをほのめかしていましたが、役に立ちませんでした。

私の質問は、egit が再び機能する状態に到達するためにリポジトリに何ができるかということです。gitosis を実行している Ubuntu インスタンスを完全に制御できます。


編集: 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 を開いた

4

3 に答える 3

1

One way to get a clone without EGit is to:

  • make a bundle on the server
  • copy the unique file representing that bundle on the client side
  • try to clone it in command-line.

Since you mention you can process the bundle with msysgit, that suggests a bug on the Egit or JGit side, as illustrated by bug 330758.
The usual course of action is to update to the nightly latest fo EGit, using this p2 update site, and see if the problem is still there.
If the issue persists, you can then file a bug report or complete the existing one (330758).

于 2011-03-17T12:07:45.043 に答える
0

最新の egit 0.12 では、この動作は見られません。

偶発的な副作用ではなく、バグが実際に修正されていることを願っています。

于 2011-05-31T17:34:06.570 に答える
0

実行している Git のバージョンを確認し、それらが一致していることを確認してください。

于 2011-03-16T19:36:20.490 に答える