2011-03-16 44 views
1

在Ubuntu下我們有一個由gitosis管理的git倉庫,這個倉庫運行良好,磁盤已滿。在閱讀了一些問題之後,我發現git gcgit gc --aggresive讓我有了相當多的磁盤空間。非常好。Eclipse egit:「檢測到包文件損壞:Unknown zlib error。」如何規避?

不幸的是這似乎已經打破了例如:It的東西,因爲我想在克隆我們的資源庫(在結算階段在10%左右)

打包文件腐敗檢測得到這個消息:未知 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

+0

也許這是關於Egit元數據的工作區中的一些緩存問題?你有沒有嘗試過一個新的工作空間,看看問題是否依然存在? – VonC

+0

是的,我嘗試了一個新的工作空間,不幸的是沒有改變任何東西。稍後我會嘗試使用新解壓縮的Eclipse。 –

+0

如果您可以克隆回購(在命令行模式下,而不是使用Egit),那麼查看Egit是否可以克隆該本地副本而不是克隆gitosis遠程回購會很有趣。 – VonC

回答

0

最新的egit 0.12並未顯示此行爲。

希望該錯誤已被修復爲真實的,而不僅僅是意外的副作用。

0

請檢查您正在運行Git的版本,並確保他們比賽。獲得無例如:It克隆

+0

我如何確保它們匹配? –

1

的一種方法是:

  • make a bundle在服務器上
  • 複製代表在客戶端上的是束
  • 嘗試克隆它在命令中的唯一文件-線。

既然你提到你可以使用msysgit來處理這個包,它建議Egit或JGit端的一個錯誤,如bug 330758所示。
通常的做法是使用這個p2 update site更新到每晚最新的EGit,並查看問題是否仍然存在。
如果問題仍然存在,則可以提交錯誤報告或完成現有問題報告(330758)。

+0

由於升級到egit的每晚構建沒有幫助,並且此症狀似乎沒有在bugzilla數據庫中,所以我打開了https://bugs.eclipse.org/bugs/show_bug.cgi?id=340305 –