20

git-svnを使用して大規模なSubversionリポジトリをgitにインポートしようとしています(これにより、gitで作業できますが、時々Subversionにコミットできます)。4000を超えるリビジョンをインポートした後、git svn fetchまたはを実行するたびに次のエラーが発生しますgit svn rebaseが、これを取り除くことはできません。

$ 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 fsck --full何も報告しませgit fsck --unreachablegit fsck --no-reflog
  • git gc --aggressive助けにはならない
  • シングルパックファイルを移動して再インポートしてもgit unpack-objects効果はありません
  • git svn reset -rXYXYが最新のインポートされたリビジョンよりも少し低い場合も、役に立たないようです。またreflog、XYまでの最新のエントリを手動で削除することもできません。
  • リブート。ばかげているように聞こえますが、最初の〜4000リビジョンをインポートしているときに、msys / mingw(またはaviraウイルススキャナー、テストのために無効にしました)。

また、エラー128が実際に何を表しているのかもわかりませんでした。何か案は?前もって感謝します!

エラー128についても同様ですが、エラーメッセージが異なり、解決策がないこの質問に関連している可能性があります。

1.6.4.msysgit.0XPSP3でbashを使用したmsysgitバージョン

4

2 に答える 2

44

git svn gc

git gc(おそらくgit prune以前)

于 2009-09-17T02:04:35.837 に答える
4

簡単な答え:マージの競合を解決してコミットすると、再度フェッチ/プルします。

より長い説明:この問題はずっと前に投稿されたので、あなたはこの問題を解決したと思います。GoogleのStackOverflow記事のランキングは十分に高いため、この問題を抱えている他の人がこのエラーが発生した場合にこのページにアクセスする可能性が非常に高いため、これを書いています。

「gitstash」を実行しようとしたときに同様のエラーが発生しました。問題は、プル後にマージの競合が発生したことでした。競合を解決してコミットしていなかったため、リポジトリがプル/マージなどできない状態になりました...

ブロッキングファイルがないことを確認した場合は、再試行してください。

幸運を!

于 2010-10-20T01:18:33.153 に答える