概要
Mercurial(hg)を利用しいて、無関係なリボジトリをマージしたくなる場合があります。
例えば、リボジトリを二つ作成したが一つの方が適切だったとか、オープンソースのある成果を取り込みたい、等様々な場面が考えられます。
Mercurial(hg)では無関係なリボジトリをマージすることも可能です。
手順
「hg pull -f」のように「-f」を付与するのがポイントです。
mkdir myrepo1
hg init myrepo1
mkdir myrepo2
hg init myrepo2
echo "aaaa" > myrepo1/hello.txt
hg add myrepo1/hello.txt
echo "bbbb" > myrepo2/hello.txt
hg add myrepo2/hello.txt
hg ci myrepo1 -m"myrepo1"
hg ci myrepo2 -m"myrepo2"
cd myrepo1
hg pull -f ../myrepo2
hg heads
hg merge tip
あとは普段のマージ作業と同じになります。
まとめ
無関係なリボジトリをマージできる事を知らないと、そもそもやろうとしないかもしれませんが、これは知っているとかなり便利です。
いろいろ活用範囲があるでしょう。