2015年3月5日木曜日

Git で Mercurial のリポジトリーを clone して扱う方法

Git リポジトリーのプロジェクトがあれば、必要なライブラリーは submodule で管理したいということもある。しかし、世の中にはモダンな分散型VCSは Git だけではなく、Git の次に流行っている勢力として Mercurial がある。

さて、しかし統一的に管理したいぞ、どうしようか?と思ったのだけど、 Git は Mercurial リモートをネイティブサポートしていたらしいヽ(´ー`)ノ

試しに、 Ogre の Mercurial リポジトリーを Git ローカルで clone してみた。

git clone hg::http://bitbucket.org/sinbad/ogre/
LH-MAIN /home/usagi/repos
  << git clone hg::http://bitbucket.org/sinbad/ogre/                                                                                                                         [master]
Cloning into 'ogre'...
全リビジョンを取得中
リビジョンを追加中
マニフェストを追加中
ファイルの変更を追加中
7609 個のリビジョン(58567 の変更を 6854 ファイルに適用)を追加 (+4個のヘッド)
progress revision 99 'master' (100/6421)
progress revision 199 'master' (200/6421)
progress revision 299 'master' (300/6421)
  ...(中略)...
progress revision 6799 'master' (6800/6421)
progress revision 6899 'master' (6900/6421)
progress revision 7599 'master' (7600/6421)
progress revision 5199 'v2-1' (5200/7495)
progress revision 5299 'v2-1' (5300/7495)
progress revision 5899 'v2-1' (5900/7495)
progress revision 5999 'v2-1' (6000/7495)
progress revision 6299 'v2-1' (6300/7495)
progress revision 6499 'v2-1' (6500/7495)
progress revision 6999 'v2-1' (7000/7495)
progress revision 7099 'v2-1' (7100/7495)
progress revision 7199 'v2-1' (7200/7495)
progress revision 7299 'v2-1' (7300/7495)
progress revision 7399 'v2-1' (7400/7495)
progress revision 7499 'v2-1' (7500/7495)
Checking connectivity... done.

カウントがなんか壊れている気がするけど…コンナモンナノダロウ(;´∀`)

LH-MAIN /home/usagi/repos
  << cd ogre
LH-MAIN /home/usagi/repos/ogre
  << /bin/ls -a
.   .git    .hgignore  AUTHORS  BuildingOgre.txt  CMakeLists.txt  CTestConfig.cmake  Docs      Other    README         SDK      Scripts  Tools
..  .hgeol  .hgtags    BUGS     CMake             COPYING         Components         OgreMain  PlugIns  RenderSystems  Samples  Tests

Mercurial のリモートリポジトリーを Git のリポジトリーとして clone できました。わたし幸せ。

ちなみに、この機能はUbuntuではsudo apt install git-remote-hg を入れると使えるようになる。

0 件のコメント:

コメントを投稿