主に Hg を使用して bitbucket でホストされているプロジェクトを github にミラーリングするための効率的なワークフローはありますか?
7 に答える
次のようなツールを使用できますhg-git
。
- プッシュ アクセスできる場所に Git リポジトリをセットアップします。
- そして
hg push [path]
、プロジェクト内から実行します。例えば:
$ cd hg-git # (a Mercurial repository)
$ hg bookmark -r default master # make a bookmark of master for default, so a ref gets created
$ hg push git+ssh://git@github.com/schacon/hg-git.git
$ hg push
これにより、すべての Mercurial データが Git オブジェクトに変換され、Git サーバーにプッシュされます。
そのパスをの[paths]
セクションに入れ.hg/hgrc
、名前でプッシュすることもできます。
プロジェクトに Mercurial を使用している場合は、プロジェクトの git ミラーをすばやく簡単に作成して、git ユーザーが貢献できるようにすることができます。hg-git
GitHub で Mercurial ミラーの管理に 使用するチュートリアルを作成しました。
GitHub アカウントの使用を開始する方法、Mercurial から GitHub にプロジェクトをプッシュする方法、および GitHub からのコントリビューション (プル リクエスト) を受け入れる方法について説明します。ブログ投稿へのリンクは次のとおりです: http://hgtip.com/tips/advanced/2009-11-09-create-a-git-mirror/ http://hgtip.com/tips/advanced/2009-11-09-create-a-git-mirror/
'git-remote-hg' は、Git プロジェクトの半公式の Mercurial ブリッジです。一度インストールすると、Git リポジトリであるかのように、Mercurial リポジトリとの間でクローン、フェッチ、およびプッシュを行うことができます。
bin パスにgit-remote-hgを追加します。次に、github で説明されているようにミラーリングできます。
git clone --mirror hg::https://bitbucket_repo
次に、クローンされたリポジトリに移動します
git remote set-url --push origin https://github.com/exampleuser/mirrored
最後に、ミラーを同期します
git fetch -p origin
git push --mirror
2013 年 7 月現在、BitBucket post-receive フックを介してこのプロセスを自動化するための Web サービスであるBitSyncHubがあります。ただし、サービスに GitHub リポジトリへの書き込み権限を付与する必要があります (コントリビューターとしてbitsynchubを追加します)。
2019 年 2 月から報告しています。ちょうどこの問題に遭遇し、@vonc の提案に従ってhg-gitを使用し、不足している手順をいくつか埋めて機能させました。ここでは、より詳細なガイドを提供します。
- hg-git のリポジトリをどこかに複製してインストールし、~/.hgrc ファイルの「拡張機能」セクションを次のようにします。
[extensions]
hggit = [path-to]/hg-git/hggit
ソース リポジトリで最新のインストール手順を見つけました: https://bitbucket.org/durin42/hg-git。だから目を離さないでください。
まだインストールしていない場合は、dulwich
pip install dulwich
をインストールします。GitHub に新しい空のリポジトリを作成します (例: https://github.com/user/git-mirror )。
hg ソース リポジトリのクローンを作成し、git ミラーにプッシュします。
$ hg clone https://bitbucket.org/user/hg-source
$ cd hg-source
$ hg push git+ssh://git@github.com/user/git-mirror.git
すばやく変換できるもう 1 つのソリューション: https://github.com/frej/fast-export