ご存知BitVisorのソースはBitbucketでmercurialレポジトリとしてホストされていますが,gitを使いたいという人向けの方法をいくつか紹介します.
hg-git
hg-gitを使うと,手元のmercurialリポジトリからhg gexport
で.git
が生成できます.このときmercurialのbookmarkがgitのbranchになります.ここで,生成されるのはbare repositoryなので実際にはこれを別のディレクトリにさらにgit clone
して作業します.あとはgitで作業してpushでbare repositoryを更新した後,hg gimport
でmerucialに変更を取り込んでpushという流れになります.
git-hg
git-hgを利用すると,リモートはmercurialのリポジトリのまま,手元ではgitリポジトリとしてソースを管理できます.内部的にはhg-fast-exportを利用してpull/pushの度に変換をおこなっています.
以下の特徴があります.
- mercurialのdefault (unnamed) branchがgitのmaster branchになります
- mercurialのbookmarkは無視されます(!)
- mercurialのnamed branchはgitのbranchになります
- gitの方で新規にブランチを作ってそれをpushすると,mercurialのdefault branchがmultiple heads (multiple roots) になります(!)
いまいち動作が分かりにくいので mercurial => git 変換として使うのが良いかもしれないです.
正直hg-git, git-hg使うのであればmercurialを直接使った方がいろいろと楽な気がします.
非公式ミラーを利用する
matsu/bitvisorにgit clone版のbitvisorがあるので,最初からこれを利用するという手もあります.自動でミラーしているのかは分かりませんが,とりあえず現状bitbucketのものと同期しています.
ところで
来年の5月31日でBitbucketはmercurialのサポートを終了するらしいです.
Mercurial features and repositories will be officially removed from Bitbucket and its API on June 1, 2020.
寂しいニュースですね... 来年BitVisorはどこでホストされるんでしょうか.