💨

WSL2のUbuntu上でForkを使っていたが、git instance is too oldというエラーが表示されるようになった

2023/01/05に公開

ほとんど人様の記事のリンクを集めただけのしょぼい記事ですが、WSL2+Ubuntu20.04+Forkというニッチな環境の事象だと思うので、一応誰かの役に立つ可能性もあるので、記録として残しておきます。

事象

仕事でWindowsのWSL2のUbuntu20.04を使って開発しています。私はgitを使うにあたり、GUIが好きなので、Forkを使っているのですが、WSL2上にcloneしたリポジトリを操作するには、一工夫が必要です。その一工夫については、以下の記事を参照ください。それなりに快適に使えていたのですが、昨年(2022年)の年末くらいから、 git instance is too old というようなエラーが表示され、commitのdiffが見られない状態になってしまいました。

https://ledsun.hatenablog.com/entry/2021/11/10/223016

原因

どうやらForkのアップデートにより、古いgitで動作しなくなってしまったようです。
https://qiita.com/segur/items/50972824fabddbeb9b01

対応

上記の記事では、git instanceをForkに内蔵のものに切り替えることで対応されていますが、上述の通り、私の環境では、WSL2上のgitをwsl-gitをかまして使っている都合上、Fork内蔵のものは使えません。

なので、WSL2上のgit自体をバージョンアップすることで、エラーが解消しました。
https://qiita.com/hiyasichuka/items/c0ce8820990f715ed4b9

(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