2009-09-27 9 views
5

私は、複数のhgリポジトリ(異なるコンポーネント)を組み合わせて1つのアプリケーションを構築するプロジェクトを持っています。私は、同時に複数のリポジトリ(タグ、プル、プッシュ、コミットなど)で操作を実行することをサポートするクロスプラットフォームツールを探しています。本質的に、私はGoogleの 'repo'スクリプトを探していますしかし、HGの代わりに、gitのために、Androidのために書いた:誰も複数のhgリポジトリを一度に処理するスクリプトを持っていますか?

http://source.android.com/download/using-repo

私はスタックオーバーフローで検索し、これを見つけた:

mercurial windows batch file for pulling changes to multiple repositories

しかし、それはまだ少しマニュアルとWindowsのみです。 は、reposにコマンドを渡すか、すべてをカプセル化しようとするスクリプトを書くのが難しいとは思っていましたが、他の人には既に解決策があるかもしれないと思っていました。私は1つのアプローチは、リポジトリをhgに移植することだと思います(hgでgitを見つけて置き換えるのは、簡単な操作のためにかなり遠くになるでしょう)。

この場合、他の人はどうしますか?

答えて

5

Mercurialの新しい(バージョン1.3の)サブリポジトリ機能を見てください。これにより、他のリポジトリを含む包括的なリポジトリを持つことができます。トップレベルの状態には、サブレポのヒントのハッシュを指定するファイルが含まれているので、すべてのサブレポジトリの状態を含む単一のハッシュノードIDを効果的に指定できます。

https://www.mercurial-scm.org/wiki/subrepos

+0

ありがとうございます。 。私は、実験的な機能を使用するためにreposを再構成することはできないだろうと考えています。だから、おそらく10分をクイックスクリプトでハッキングすることになるでしょう。 – Brian

+0

FWIW、サブレポは現在非常に標準的な使用法です。 –

0

また、イアン・ロウは、複数のリポジトリを管理することができる拡張https://bitbucket.org/ilowe/multirepo/srcを有しています。

私はシンプルを発見したいくつかの点で

などのものをマージ/ 6リポジトリを超えるプロジェクトの広がりで毎日働いて、昨年のために同様のシナリオにされて、ほとんどの分岐を担当している1き

1

複数のSVNリポジトリをチェックするためのbashスクリプト私はそれをMercurialに採用し、時間をかけてそれを拡張しました。今は私がスクリプトの元のソースを思い出したり、Googleにリコールすることはできません。残念ながら元の著者には信用できません。私の「hgall」スクリプトがhttps://github.com/JKrag/hgall

でGitHubの上で公開されている

それは、私自身の使用のために作られたため、直接私が使用しているが、これは簡単に編集されてすることができ、いくつかの拡張を参照しています。 (または、あなたがインストールしていない拡張機能を呼び出すコマンドを使用しないでください)。

私の個人的な "微調整"(デフォルトでは)を、アンダースコアで始まるリポジトリを無視することを含め、スクリプトはREADMEに文書化されています。これらを一時的なクローンとして使って大規模なマージなどをテストします。

私は、このスクリプトがあなたに役立つことを願っています。去年、私に大きな助けになりました。私たちの会社はちょうどGitに移動したので、近いうちに多くの更新を行っているとは思わないかもしれませんが、いつかGitに移植する可能性があります。

関連する問題