gitが動かない!
Windows7でmsysgitを使っていたところ、何かを境にしてSTATUS_ACCESS_VIOLATIONが起きるようになりgitを使えなくなりました。
_人人人人人人人人_
> 突然のgit死亡 <
 ̄Y^Y^Y^Y^Y^Y^Y ̄
症状はFails with Exception: STATUS_ACCESS_VIOLATIONと同じです。
試行錯誤の日々
藁にもすがる思いで何とか見付け出した解決方法を色々と試してみました。
結論を先に書くとどれもダメでした。
cygwinやmsysと混ぜるな危険
msysgitのmsys-1.0.dllがcygwinやmsysのDLLと干渉することがあるらしいのですが、そもそも使ってないので他に原因があるようです。
DLLをrebase
gitのrebaseコマンドではなく、msys-1.0.dllをロードするアドレスが他のDLLと干渉するため、rebaseコマンドでアドレスを変更する方法らしいです。
環境によって干渉しないアドレスが違い、一度DLLをロードするとrebaseしても再起動するまで反映されないので時間ばかり食われた挙句、諦めてしまいました。
新規アカウントで試す
システム自体に問題があるのか、アカウントの環境に問題があるのか切り分けるために新規アカウントで作ったのですが、こちらでは問題ありません。どうやらアカウントの環境に問題があるようです。
やっと解決
何となく TEMPフォルダのゴミファイルを削除したら gitが動くようになりました!
もう意味が分かりません。msysgitってTEMPフォルダから何かロードしているのでしょうか?
何はともあれ動くようになったのですが、試行錯誤の数ヶ月の間に覚えたTortoiseHGが便利すぎて戻れなくなってしまいました。
※TEMPフォルダは環境変数TEMP
やTMP
が指すフォルダです。