28

AppHarborを使用して軽量のWebサイトをホストすることを検討しており、Mercurialの統合を調査していました。

現在、リモートリポジトリにKilnを使用していますが、現在AppHarborはBitBucket統合のみをサポートしています。

1つのローカルリポジトリに対して2つのリモートリポジトリを持つことは可能ですか?それで、ローカルからコミットをプッシュすると、両方がプッシュされますか?

BitBucketからプルしたくはありません。プッシュするだけで、AppHarborで取得してデプロイできるようになります。

4

2 に答える 2

44

[paths]リポジトリ構成ファイルのセクションで、複数のリモートリポジトリエイリアスを設定できます。このファイルは.hg/hgrcにあり、次のようなパスを追加します

[paths]
default = http://kilnhg.com/repo
bitbucket = http://bitbucket.org/repo

次に、実行hg push bitbucketしてbitbuckethg pushにプッシュし、キルンにプッシュします。これもここでのデフォルトです。エイリアスdefaultは、他に何も指定しない場合に使用されるエイリアスです。このように、引数なしでプッシュおよびプルすると、優先するリモートホストであるキルンが使用されます。

残念ながら、typeコマンドを実行してすべてのリモートホストに一度にプッシュすることはできませんhg push *。各プッシュ先を1つずつ指定する必要があります。

于 2011-06-03T07:20:48.333 に答える
2

Bitbucket/Kilnでhgrcファイルを編集できるかどうかはわかりません。可能であれば、これを自動化できる可能性があります。そうでない場合は、別のローカルコピーにプッシュし、フックを使用してBitbucketとKilnの両方にプッシュすることができます。Tonによるこの回答を参照してください(便宜上、以下に含まれています)。

中央サーバーで、変更グループフックを作成します。

したがって、中央サーバーには次のhgrcがあります。

[paths]
server2=http://server2
server3=http://server3
[hooks]
changegroup.server2 = hg push -f server2
changegroup.server3 = hg push -f server3

同じイベントに複数のフックを設定できるため、問題になることはありません。チェンジセットフックに対するチェンジグループフックの利点は、実行頻度がはるかに少ないことです。

于 2011-06-04T11:58:34.103 に答える