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が上がっていた。
- [SRCTREEWIN-13547] Cannot open a terminal when system git is enabled - Create and track feature requests for Atlassian products.
- [SRCTREEWIN-13533] Git Bash cannot be opened anymore with Git 2.31 - Create and track feature requests for Atlassian products.
この不具合は SourceTree v3.4.5 で修正されている。
この記事を書いている 2021/7/18 時点でChocolateyではインストールできないので、SourceTree公式ページからダウンロードして更新したところ、Git vGit 2.32.0.2 でもターミナルからのGit Bash起動ができるようになり、無事解消した。
振り返り
おそらく、Git for Windowsのバージョンが上がったことによって、パラメータなりなんなりが変わって、エラーになっていたんだろうと思うのだが、クローズドソースなので詳細が分からない。
エラーログに、せめて実行したコマンドの内容とか出ていれば、ユーザー側でも対応できたかもしれない。
別段快適というわけでもなく、何年も乗り換えようかなと思いつつ、Git FlowがUIから使えるのが便利だったりで惰性で使い続けているツールの筆頭ではある。
公式ブログも放置されてるし、オープンソース化の要望はあってもかないそうにないし、もうちょっとトラブルがあれば乗り換えるんだけどなぁ。