56

主に Hg を使用して bitbucket でホストされているプロジェクトを github にミラーリングするための効率的なワークフローはありますか?

4

7 に答える 7

39

次のようなツールを使用できます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、名前でプッシュすることもできます。

hg-git

于 2010-04-19T19:49:27.287 に答える
13

プロジェクトに Mercurial を使用している場合は、プロジェクトの git ミラーをすばやく簡単に作成して、git ユーザーが貢献できるようにすることができます。hg-gitGitHub で 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/

于 2010-04-19T20:51:04.073 に答える
12

'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
于 2014-04-21T13:59:49.000 に答える
6

2013 年 7 月現在、BitBucket post-receive フックを介してこのプロセスを自動化するための Web サービスであるBitSyncHubがあります。ただし、サービスに GitHub リポジトリへの書き込み権限を付与する必要があります (コントリビューターとしてbitsynchubを追加します)。

于 2013-12-06T22:30:14.637 に答える
3

2019 年 2 月から報告しています。ちょうどこの問題に遭遇し、@vonc の提案に従ってhg-gitを使用し、不足している手順をいくつか埋めて機能させました。ここでは、より詳細なガイドを提供します。

  1. hg-git のリポジトリをどこかに複製してインストールし、~/.hgrc ファイルの「拡張機能」セクションを次のようにします。
[extensions]
hggit = [path-to]/hg-git/hggit

ソース リポジトリで最新のインストール手順を見つけました: https://bitbucket.org/durin42/hg-git。だから目を離さないでください。

  1. まだインストールしていない場合は、dulwichpip install dulwichをインストールします。

  2. GitHub に新しい空のリポジトリを作成します (例: https://github.com/user/git-mirror )

  3. hg ソース リポジトリのクローンを作成し、git ミラーにプッシュします。

$ hg clone https://bitbucket.org/user/hg-source
$ cd hg-source
$ hg push git+ssh://git@github.com/user/git-mirror.git
于 2019-02-03T01:12:09.983 に答える
1

すばやく変換できるもう 1 つのソリューション: https://github.com/frej/fast-export

于 2014-03-23T09:10:52.557 に答える