2009-08-31 24 views
17

git-svnを使用して大規模なSubversionリポジトリをgitにインポートしようとしています(gitで作業できますが、致命的な:git-write-tree:ビルド・エラー・ツリー

私がこれまで試したどのような
$ git svn fetch 
error: invalid object 100644 1f2....742 for 'src/path/.../file.cs' 
fatal: git-write-tree: error building trees 
write-tree: command returned error: 128 

私はを取り除くために管理していない git svn fetchまたは git svn rebaseを、実行するたびに4000の以上のリビジョンをインポートした後、私は今、次のエラーを取得しています
  • git fsck --fullは何も報告しません、どちらもgit fsck --unreachableまたはgit fsck --no-reflog
  • git gc --aggressive
  • が離れて、​​単一パックファイルを移動する助けにはならないんgit unpack-objectsで再インポートすると、最新のインポートされたバージョンよりも少し下のXYがどちらも手助けしていないか、reflogから最新のエントリを手作業でXYに取り除くこともできません。
  • git svn reset -rXY
  • 再起動します。奇妙に聞こえますが、何らかの奇妙な問題を観察していましたが、何かがカーネルリソースを漏らしていたかのように(Windowsサブシステムの可能性が高い)、msys/mingw(またはaviraウイルススキャナ、私はテストのために無効にしました)。

エラー128が本当に意味するものも見つけられませんでした。何か案は?前もって感謝します!

this questionと関連している可能性がありますが、これは約128のエラーメッセージですが、エラーメッセージは異なりますが、解決策はありません。 (前おそらくgit gcgit prune)XP SP3

+1

gitメーリングリスト([email protected])に問い合わせると、投稿を購読する必要はありません(GmaneとMARCを含むいくつかのWebインターフェイスがあります)。 –

答えて

34

git svn gc

上のbashと

msysgitバージョン1.6.4.msysgit.0

+0

ありがとうございました! gc/pruneが必要かどうかわからないが、私はもちろんそれを行う。 – Tobu

+0

解決せずにすべてを試しました... –

+0

私はこの問題を抱えていました。'git svn gc'を' git gc'と 'git prune'なしで動かすと、私のために修正されました。 – thakis

4

短い答え:いずれかがそれらをコミット、マージの競合を、彼らは再び引っ張るフェッチ/解決してください。

説明: これはずっと前に投稿されているので、この問題を解決したと思います。私はStackOverflowの記事のGoogleのランキングは、この問題を抱えている他の人々がこのエラーを抱えているとこのページを訪れる可能性が高いほど高いので、これを書いています。

"git stash"を実行しようとしたときに同様のエラーが発生しましたが、問題の原因は、引き抜き後にマージ競合が発生したことでした。私はあなたがすべてのブロックのファイルを持っていないことを確認した場合は、もう一度試して&が競合を犯し、これは/ etc /マージ引っ張ってから私を防止した状態のリポジトリを残し...

解決していませんでした。

幸運を祈る!