Mercurial/hgで複数svnリポジトリを一緒に

いや、単にsvnとhgを一緒に扱うなら簡単な方法がある

でなくて、svkでやってたんだけど、複数リポジトリを纏めたくて。plaggerのtrunkとbranches混ぜたい、みたいな。メモ書き。

まずごっちゃにするリポジトリ作る。でもって.svnを無視するようにもする。

% pwd
plagger

% hg init devel
% cd devel
% vi .hgignore

### .hgignoreの中身。
syntax: glob
.svn/
### ここまで

% hg add
% hg ci

で準備完了。次、trunk取ってくる。

% pwd
plagger

% hg clone devel trunk
% svn co http://svn.bulknews.net/repos/plagger/trunk/plagger/ trunk
% cd trunk
% hg add
% hg ci
% cd ../devel
% hg pull ../trunk
% hg update

trunkでけた。でもまだこれコピーできただけ。更に混ぜる。

% pwd
plagger

### -U 付けるとファイル取ってこない。けど、
% hg clone -U devel fastladder-crawler
% svn co http://svn.bulknews.net/repos/plagger/branches/fastladder-crawler/plagger/ fastladder-crawler
% cd fastladder-crawler
### .hgignoreも持って来ないので、ここで、
### hg add lib/Plagger/Plugin/Store
### とかすると .svn/ も入っちゃう。
### まぁ、メインでignoreされるだろうからいいのかもしれんけど。もしくはcloneの度に作るか。
% hg add lib/Plagger/Plugin/Store/Fastladder.pm
% hg add lib/Plagger/Plugin/Store/Fastladder/Schema/Loader.pm
% hg ci
% cd ../devel
% hg pull ../fastladder-crawler
% hg merge
#### でファイルも追加されたけどアレなら ci もすればいんじゃね?
% hg ci

で、無事にtrunkとStore/Fastladderが混ざったよ、と。あとは野良ggerとか入れたりとか。

てゆー事がしたかったんです。svnからのcheckoutは綺麗なままでごちゃまぜ領域が欲しい、ただし片道で同期、みたいな。レアケースすぐる?サーセン。

しかしカッコ悪いなぁ、なんか。こーゆーもんなのか……?わかんない。まぁ、いい、、か。

あと全然関係無いけどFreeBSDを7.0に上げようとしたらミスっておしゃかになったよ。

('(゜∀゜∩ なったよ!!!!