Mac 最強の git/Mercurial クライアントである SourceTree ですが、git-svn した Subversion リポジトリもほとんどシームレス い扱うことができます。
以下、方法です。
追記
現在の SourceTree では、ソースパスに SVN リポジトリのパスを入力すれば、SourceTree 側で勝手に git svn clone してくれます。つまり下の I. の手順は不要です。(コメント頂いた YukiAsu さん、ありがとうございました。)
手順
I. Terminal で git svn clone する。※リポジトリがデカイと結構時間かかります。
git svn clone -s http://osmdroid.googlecode.com/svn osmdroid
-s オプションをつけているので、最後 /trunk としない所がミソ。
II. SourceTree の ファイル → 開く で I. のフォルダを作業フォルダとして開く。
III. ごらんの通り、普通に SourceTree で開けました。
- プッシュは
git svn dcommit
と同じ、つまり SVN へのコミットになります。 - プルは
git svn rebase
つまり SVN からの Update になります。 - ブランチは少し注意が必要で、git のローカルブランチとして作成するか、SVN のブランチとして作成するかを選択するダイアログが表示されます。前者を選択した場合は、SVN へは手動でマージしなければなりません。
git svn のコマンドは普通の git と少し違うのですが、SourceTree がそのあたりを吸収してくれて、SVN をリモートリポジトリと見立てて動作します。
あわよくば、SVNリポジトリの URL を直接 SourceTree で開けると尚便利でしたが、まあいいでしょう。
SVN の不便なところに気軽にローカルブランチが作れないというのがあったので、git-svn を使うことでローカルブランチ作り放題です。
Mac の SVNクライアントで「これだ!」というのがなかったのですが、これで満足です。
##参考
- git-svnの使い方を覚えた - idesaku blog
- SourceTree - なんか "Supports SVN via git-svn or hgsubversion" って書いてあるので git-svn の代わりに hgsubversion でもいけそうですね。