web-dev-qa-db-ja.com

Mercurialを使用してsvn:externalsをエミュレートできますか?

SVNからMercurialへの移行を検討しており、つまずきに遭遇しました。

現在、svn:externalsを使用して、ライブラリの共通セットを作業ディレクトリに自動的にプルしています。 Mercurialではこのようなサポートが見つかりません。

Mercurialでこれを自動的に行う方法はありますか、それともビルドプロセスの一部として偽造する必要がありますか?

62
Eltariel

Mercurialのみを使用してそれを行う良い方法はありません。他の場所で言及されているフォレスト拡張は、最近の修正よりも多くの問題を引き起こします。ほとんどの人は、大きなリポジトリを使用し、すべてのコンポーネントをリポジトリに含めてから、ビルドスクリプトをダウンロードして、サードパーティのライブラリを使用します。Javaヘッドの場合はmavenを使用します。

短い答え「ビルドプロセスでそれを偽造する」。

更新:

Mercurial 1.3では、新しいサブリポジトリ機能が追加されました。古いフォレスト拡張に似ていますが、すべて新しいコードとして開始されました。

Subrepos は「最後の手段の機能」と見なされます。

20
Ry4an Brase

Forest Extensionの機能がコアMercurialに実装されているようです(1.3以降)。

https://www.Mercurial-scm.org/wiki/Subrepository

現在「実験的」とマークされていますが、v1.4以降、svn:externalタイプの機能を処理するためのルートになる可能性があります。

26
Nick Pierpoint

試しましたか Deps Extension

Mercurialの一部ではありませんが、svn:externals機能を模倣しているようです

3
yanjost

Mercurialの Forest Extension を試してください。

0
sanxiyn