Gitをv2.31以降に更新したら、SourceTreeのターミナルでGit Bashが開かなくなった

ChocolateyでインストールしたSourceTreeとGit for Windowsを使っている。

SourceTreeで便利しているのが、プロジェクトを開いた状態で「ターミナル」アイコンをクリックすると、そのプロジェクトのディレクトリをルートとしてGit Bashを開いてくれる機能。Gitを使うというより、プロジェクトに対してBashを起動するときに重宝していた。

ところが、Git for Windowsのバージョンを2.31以上にすると、ターミナルが開かなくなっていたのでメモ。

環境

SourceTree v3.4.1。Gitはversion 2.31.1.windows.1, version 2.32.0.windows.2 で確認。

問題

Gitのバージョンを v2.31 以上に上げると、SourceTreeのターミナルアイコンをクリックしても、Git Bashが開かない。

ツール > オプション > Gitタブの、「Git Bash をデフォルトターミナルとして使用」のチェックを外せば、コマンドプロンプトでプロジェクトのディレクトリをルートとして開くが、コマンドプロンプトが使いたいわけではないのでこれはNG。

ターミナルアイコンをクリックすると、 C:\Users\%USERNAME%\AppData\Local\Atlassian\SourceTree\sourcetree.log に、以下のエラーログが出力される。

ERROR [エラー発生日時] [1] [SourceTree.Repo.RepoHandlerGitOld] [Log] - UNable to bash start process for 'drive:\path\to\project'

対応

しばらくの間は、Chocolateyで Git v2.30.0.2 をバージョン指定して使用していた。

SourceTreeのJiraに、issueが上がっていた。

この不具合は SourceTree v3.4.5 で修正されている。

この記事を書いている 2021/7/18 時点でChocolateyではインストールできないので、SourceTree公式ページからダウンロードして更新したところ、Git vGit 2.32.0.2 でもターミナルからのGit Bash起動ができるようになり、無事解消した。

振り返り

おそらく、Git for Windowsのバージョンが上がったことによって、パラメータなりなんなりが変わって、エラーになっていたんだろうと思うのだが、クローズドソースなので詳細が分からない。

エラーログに、せめて実行したコマンドの内容とか出ていれば、ユーザー側でも対応できたかもしれない。

別段快適というわけでもなく、何年も乗り換えようかなと思いつつ、Git FlowがUIから使えるのが便利だったりで惰性で使い続けているツールの筆頭ではある。

公式ブログも放置されてるし、オープンソース化の要望はあってもかないそうにないし、もうちょっとトラブルがあれば乗り換えるんだけどなぁ。