ツリー内のコミット エントリの sha1 がヌルの git リポジトリを継承したため、FishEye がリポジトリをインデックス化できません。
$ git fsck
Checking object directoriies: 100%(256/256), done.
warning in tree db22a67df70dc4ff90ec4cd666da91e9c2cb0d9:
contains entries pointing to null sha1
Checking objects: 100% (416532/416532), done.
Checking connectivity: 416532, done.
指定されたツリーを探すと、次の結果が得られます。
$ git ls-tree db22a6
100644 blob e615f18b55a39f2719112ce209c2505dd92d8e75 .gitignore
100644 blob ac852f06c5a04420356c1d5efca44d9a864e78b0 .project
160000 commit 0000000000000000000000000000000000000000 SomeDirectory
100644 blob 631c17e28026261a2ccf6bc570842cf4af9f181c GoDeploy.bat
100644 blob 40e992ab5c3868af2910135c3ac4610c3646e7f8 pom.xml
履歴をSomeDirectory
調べると、最初は git サブモジュールであり、問題を引き起こしていると思われるコミットは と の両方を削除したものであること.gitmodules
がわかりましたSomeDirectory
。現在、SomeDirectory
犯人がいたのとまったく同じ場所に呼び出された実際のディレクトリがあります。
run a を修正しgit filter-branch
て、最終的にどうなるかを確認することはできますが、機能しません。
$ git filter-branch --force --index-filter \
$ 'git rm --cached --ignore-unmatch SomeDirectory' \
$ --prune-empty --tag-name-filter cat -- --all
[... striped out for clarity]
Rewrite c571a3ec94e9f84471577bac41ac7375c729ef08 (76/18522)error:
cache enttry has null sha1: SomeDirectory
fatal: unable to write new index file
Could not initialize the index
[... striped out for clarity]
問題の原因となるコミットの前に認識しているバックアップがないことを知って、次に何を試みる必要がありますか。