SourceTreeをCUIから起動する

SourceTree はMac上からGitを操作するのにとても便利です。 自分はCUIばっかりだったのですが、社内に普及させる必要もあったのでSourceTreeを最近使うようになりました。

まぁ自分は基本Terminal上で操作する場合が多いので、必要に応じてSourceTreeを起動したい訳です。 SourceTree自体はterminalから起動することも想定されているらしく stree というコマンドをメニューからインストールすると可能になるようです。 (参考: How to use from terminal? )

早速インストールしようとしてみたんですが、なぜかメニューに見つかりません。 色々探していると SourceTree1.3のリリースノート にこんなコメントが。

Note: This feature won’t appear in the App Store version as Apple does not allow helper installs. You’ll need to download an additional installer direct from the SourceTree website to get this cool feature.

あー、AppleStoreからのものには含まれていないみたいです。 というわけで、 上記のリンク からパッケージをダウンロードしてからインストールしました。

# 証明書が切れてるのがビミョーにきになりますが。

使い方

streeに起動したいpathを指定してやると、そのパス以下をSourceTreeで開いてくれます。

stree ~/git/path

おまけ

ところで、 SourceTreeAppStoreCmdLineToolInstaller.pkg を利用してインストールすると/usr/local/bin上に自分の環境だとインストールされてしまいました。 自分の場合/usr/local/bin以下は基本homebrewの実行ファイルに限定しているつもりなので、出来るだけ余計なものを配置したくありません。

pkgutilで確認してみたところ、インストールされたのは/usr/local/bin以下のバイナリファイル stree のみだったので、~/bin以下にコピーしてインストーラーでインストールされたファイルを削除しておきました。

$ pkgutil --pkgs | grep -i SourceTree
com.atlassian.sourcetreeCommandLineTools.stree.pkg
com.torusknot.SourceTree
$ pkgutil --files com.atlassian.sourcetreeCommandLineTools.stree.pkg
$ stree
$ cp /usr/local/bin/stree ~/bin/stree
$ sudo pkgutil --unlink com.atlassian.sourcetreeCommandLineTools.stree.pkg
$ sudo pkgutil --forget com.atlassian.sourcetreeCommandLineTools.stree.pkg