ちなみに

火曜日の空は僕を押しつぶした。

git svnでsvn:externalなリポジトリの取得

は基本的には出来ないそうです。
なんか昔のマニュアルにはそれらしきものがあるのだけれど、現在はgit svn show-externalsが残っているだけで、確認はできるものの自動でガガーっと取って来れて、submoduleになるなんてのは夢物語なのです。


# 実は出来たりするのかもしれないけれど、良く分からなかったし、
# Git使っている人の大半がSubversionも使えるので需要がないらしい。
# 新人類には厳しい現実だ。


ということでいろいろ調べていたのですが、結論としてexternalな部分に編集が必要ない場合は、個別にgit svn cloneしてきて、.gitignoreに加えておくのが良いみたい。


でもRailsのプロジェクトなんかでプラグインが大量にexternalになっている場合は面倒だよ!


ということを考えるのは僕だけではないようで、
http://github.com/garbas/garbasgit.svnexternals/tree/master
に、超便利なスクリプト(宿敵Pythonだけどね!)を公開してくださっている方がいらっしゃるので遠慮なく使わせていただきましょう。


Pythonを普段使っていない人には環境の整備がまず面倒くさいのですが、がまんして例えばMacならMacPortsを使ってPython 2.4とpy-lxmlをインストールしてください。
どうしても我慢できないひとは好きな言語で書き直しましょう。
やっていることはそんなに難しくないと思います。XMLの処理が出来る言語なら余裕。(多分


環境が整ったならばローカルに持ってきたこのスクリプトを、svn:externalの取得が必要なGitリポジトリで走らせるだけです。

最後に.gitignoreにgit svn show-externalsの結果からコピペでディレクトリを追加しておきます。


いじょうで快適なGit環境に、古代の遺産であるSubversionのリポジトリをもってくることができました。
これは所謂発掘作業というやつだと姉さんがいってました。もちろん姉などいませんが。