SourceTree は git-svn したリポジトリも使えます

  • 107
    いいね
  • 2
    コメント
この記事は最終更新日から1年以上が経過しています。

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 で開けました。

sourcetree

  • プッシュは git svn dcommit と同じ、つまり SVN へのコミットになります。
  • プルは git svn rebase つまり SVN からの Update になります。
  • ブランチは少し注意が必要で、git のローカルブランチとして作成するか、SVN のブランチとして作成するかを選択するダイアログが表示されます。前者を選択した場合は、SVN へは手動でマージしなければなりません。 sourcetree_branch

git svn のコマンドは普通の git と少し違うのですが、SourceTree がそのあたりを吸収してくれて、SVN をリモートリポジトリと見立てて動作します。

あわよくば、SVNリポジトリの URL を直接 SourceTree で開けると尚便利でしたが、まあいいでしょう。

SVN の不便なところに気軽にローカルブランチが作れないというのがあったので、git-svn を使うことでローカルブランチ作り放題です。

Mac の SVNクライアントで「これだ!」というのがなかったのですが、これで満足です。

参考