VisualSVNとクラスライブラリが作業コピーのルートにない
-
03-07-2019 - |
質問
VisualSVNのVisualSVNを使用して、SourceGear VaultからTortoiseSVNへの切り替えを行っています。ただし、複数の異なるアプリケーションで参照する複数のクラスライブラリがあり、これらはいずれのアプリケーションの作業コピールートにも含まれていません。 Visual Studioの統合を引き続き利用できるように、これに対処する最良の方法は何ですか?ただし、各プロジェクト/アプリケーションのルートの外部にあるさまざまなクラスライブラリを維持しますか? SourceGearにはこれに関する問題はありません。
エクスプローラーでTortoiseSVNを使用するだけでクラスライブラリを個別に追加することは可能ですが、Visual Studio内から作業コピーの外部に変更をコミットすることはできません。 VisualSVN「トラフィックライト」もありません。作業コピークラスライブラリ外のこれらのステータスを示します。
ところで、「多くのプロジェクトを含む1つのリポジトリ」も使用します。複数のリポジトリとは対照的に、特にこの時点まで何年も取り組んできました。
更新:
以前見たものを読み直し、svn:externalsは異なるリポジトリでコードを使用するだけでなく、VisualSVNで複数の作業コピーを使用するためにも使用できることを発見しました。
http://www.visualsvn.com/support/topic/00007/を参照a>および http://svnbook.red-bean.com/ en / 1.2 / svn.advanced.externals.html
ただし、これがこの問題に対処する最良の方法ですか? 良いスレッドがありますが、完全には解決しません物事。
したがって、svn:externalsを使用するかどうか?複数のリポジトリを使用するかどうか?繰り返しますが、何年もの間、複数のソリューション/アプリケーション間で共有クラスライブラリのコードを参照してきました。 VisualSVNでこれを機能させるにはどうすればよいでしょうか?
解決
ベストアンサーを見つけたこちら:
参照プロジェクト
いくつかの異なるチェックアウトから作成された作業コピーを作成すると便利な場合があります。たとえば、異なるサブディレクトリをリポジトリ内の異なる場所から取得したり、異なるリポジトリ全体から取得したい場合があります。すべてのユーザーに同じレイアウトを持たせたい場合は、svn:externalsプロパティを定義できます。
およびこちら:
共通のサブプロジェクトを含める
作業コピー内に別のプロジェクト、おそらくライブラリコードを含めることが必要になる場合があります。リポジトリでこのコードの複製を作成したくないのは、元の(および維持されている)コードとの接続が失われるためです。または、コアコードを共有する複数のプロジェクトがあるかもしれません。これに対処するには、少なくとも3つの方法があります。
他のヒント
この質問をしてから10年以上が経ちますが、VisualSVNプラグインでの複数の作業コピーのサポートの実装に進展があったことをお知らせいたします。 VisualSVN 7.1.0-alpha1がテストに使用できるようになり、単一のソリューション内での複数の作業コピーの実験的サポートを備えています。
プレリリースダウンロードページをご覧ください。新しいバージョンはVisual Studio 2019のみをサポートすることに注意してください。
PS KB7:VisualSVNで複数の作業コピーを使用するの記事を参照してください。また、すぐに更新する予定です。