4

SubversionリポジトリをMercurialに移行しました。svnリポジトリには、ローカルシステムのさまざまな場所にあるいくつかのプロジェクトが含まれています。私はそのように働くことになっている方法を理解することができません。Mercurialは、私が常にツリー全体を1か所でチェックしたいと思っているようです。

特定のサブツリーのみをチェックアウトすることは可能ですか?

そうでない場合は、単一のSubversionリポジトリの一部を複数のMercurialリポジトリにインポートする必要があります。(もちろん、破壊から履歴情報を失うことなく)それをどのように行うのでしょうか。

4

2 に答える 2

2

Mercurialはサブツリーのチェックアウトをサポートしていません。ConvertExtension (Mercurialに含まれています)は、リポジトリを変換するために使用され、ユーザー、ファイル、およびディレクトリを再マップまたはトリミングできるフィルタリングを実行するためにも使用できます。--filemapソースリポジトリから特定のブランチを含める/除外するためのオプションを具体的に参照してください。

于 2012-07-02T04:18:27.123 に答える
0

Markが述べたように、convert拡張機能はwikiページで説明されているように機能を実行できるため、リポジトリ「foo」のサブディレクトリ「subfoo」を独自のリポジトリに変換するには、次のようにします。

echo include subfoo > filemap.txt
echo rename subfoo . >> filemap.txt
hg convert --filemap filemap.txt path/to/foo newsubfoo-repo

さまざまなリポジトリ変換に役立つもう1つのツールは、reposurgeonです。

このことを行うためのまったく新しいナローイング拡張機能もありますが、本番環境に対応しているかどうかはまだ明らかではありません。

于 2016-04-16T08:22:05.693 に答える