💨
WSL2のUbuntu上でForkを使っていたが、git instance is too oldというエラーが表示されるようになった
ほとんど人様の記事のリンクを集めただけのしょぼい記事ですが、WSL2+Ubuntu20.04+Forkというニッチな環境の事象だと思うので、一応誰かの役に立つ可能性もあるので、記録として残しておきます。
事象
仕事でWindowsのWSL2のUbuntu20.04を使って開発しています。私はgitを使うにあたり、GUIが好きなので、Forkを使っているのですが、WSL2上にcloneしたリポジトリを操作するには、一工夫が必要です。その一工夫については、以下の記事を参照ください。それなりに快適に使えていたのですが、昨年(2022年)の年末くらいから、 git instance is too old
というようなエラーが表示され、commitのdiffが見られない状態になってしまいました。
原因
どうやらForkのアップデートにより、古いgitで動作しなくなってしまったようです。
対応
上記の記事では、git instanceをForkに内蔵のものに切り替えることで対応されていますが、上述の通り、私の環境では、WSL2上のgitをwsl-gitをかまして使っている都合上、Fork内蔵のものは使えません。
なので、WSL2上のgit自体をバージョンアップすることで、エラーが解消しました。
(2023-01-10追記)
どうやら単純にgit instanceのバージョンアップだけではうまくいかないこともあるようです。
Forkを最新にアップデートすることと、前出のブログで紹介されているwsl-gitについても最新版にアップデートすることで、
diffが見られるようになったという事例がありました。
私は2023/01/10現在以下の環境で正常に動いています。
- WSL2 Ubuntu 20.04
- git version 2.39.0
- Fork Version 1.80.1.0
- wsl-git Version 1.2.0
Discussion