1

私は現在、MS VS2010 で、VS の各部分に 1 つのプロジェクトを持つクライアント サーバー アーキテクチャに基づくアプリケーションを開発しています。最近まで、どちらも Hg に独自のリポジトリを持っていましたが、現在共有されているファイルがかなりあるため、それらを一緒に移動することにしました。

ハード リンクを使用して、1 つのファイルの変更が他のフォルダー/プロジェクトの同じファイルに反映されるようにしています。ただし、リポジトリのクローンを作成したり、オンライン リポジトリからチェックアウトしたりすると、ハード リンクが壊れます。

Hg とのソフト リンクとハード リンクの両方について、できる限り多くのことを調べましたが、現時点では、どちらも優れたポータブル ソリューションではないようです。2 つのプロジェクト間でファイルを共有する方法として、どのような方法をお勧めしますか?

よろしく、マックス。

4

1 に答える 1

0

Mercurial のサブリポジトリ機能を使用して、共有ファイルを外部リポジトリに配置し、必要な場所で共有できます。また、サブリポジトリよりも比較的新しく、軽量なゲスト リポジトリ拡張機能もあります。

ただし、バージョン管理で問題を解決する代わりに、Visual Studio プロジェクトを再調整して、共有コードが、クライアント アセンブリとサーバー アセンブリが使用および依存するアセンブリにコンパイルされるようにします。 コード レベルではなく、アセンブリ レベルでコードを共有します。

本当に既存の構造を維持する必要がある場合は、NTFS ジャンクション (UNIX スタイルのソフト リンクに似ています) を使用して、必要な共有コード内のジャンクションを配置します。次に、これらのジャンクションをリポジトリの無視リストに追加します ( を.hgignore参照)。あなたと他の開発者が実行できる PowerShell スクリプトを作成して、適切なジャンクションでリポジトリを初期化します。

于 2012-09-01T16:07:38.730 に答える