2012-11-15 13 views
12

現在、私たちはソース管理にSVNを使用しています。そのため、開発環境での追加機能との統合の我々はasp.netで構築されているポータルの実行の多くを持ってTFS 2012年にチーム基盤サーバー2012のSVN外部オプション

を移行したいと思います。私たちのポータルでは、多くの標準コンポーネントを使用しています。現在、すべてのポータルは同じコードベースを使用しています。つまり、共有コードベースで何かを変更すると、(ポータルが公開されるたびに)自動的に配布されます。私たちはこの作業方法に慣れており、他のポータルでコードが破損する危険性があることを認識しています。しかし、他のすべてのポータルの変更を公開すると、時間がかかることになります。これを行うには、SVNの外部関数を使用します。

私は本当にこの機能を有効にしておきたいと思います。だから私の質問は、SVNのような外部のようなシステムを作成する方法があるか、またはこの機能を置き換えるために効率的に動作する本当に良い方法です。

答えて

6

提案のカップルがVisual Studio Team Foundation Server Branching and Merging Guideにあります。あなたは「すべて」パッケージをダウンロードし、「すべてのガイド」のzipに見て、「高度なバージョン管理ガイド」の読み取りを持っている場合は

ページ5-19カバー共有リソースを管理すると、そこにはたくさんのことがあります。スタックオーバーフローについては、おそらくレンジャーの不正がありますので、私はあなたに指摘します。

-1

ボトムライン:いいえTFSは「:外観SVN」に相当するものがありません。

コード共有が悪いため、コードの重複が発生し、コードの再利用は発生しません。代わりにコンパイルされたコードに依存してください。

あなただけの共有ライブラリの「出力」のではなく、ソースファイルに依存する必要があります。シナリオに関しては、製品/ソリューション間でソースファイルを共有することをお勧めします。

その理由は、物事が非常に迅速に扱いにくくなることです。あなたが共有ライブラリに移動するよりも、すべてが同じコードに変更され、互いが交互に壊れた場合はどうでしょうか?その周りの唯一の方法は、一般的なコードを他のプロジェクトに分岐させて、長期的には決して処理されないレベルの複雑さと統合性を追加し、同じコードベースの3つ以上のバージョン時間。

あなたがすべきことは、出力を生成するために変更されビルドされる単一のコアコンポーネントがあることです。この出力は、必要に応じて、変更に依存する他のプロジェクトに引き込まれます。これにより、破損が少なくなり、アーキテクチャが改善され、技術的負債が少なくなります。

あなたもあなたの共通のコンポーネントを公開して、新しいバージョンが公開されたときに、消費者のそれぞれに通知するためにホストされている社内サーバーのいずれかを使用して式にNuGetを導入することができます。

+2

私は今このような働きをする組織になっていますが、多くのポータルでこれを変更することは現在オプションではありませんが、私は完全に同意します。私たちは将来、それを移行したいと考えています。 – Patrick

+6

フォークは、ソースコードにアクセスすることと同じではありません!あなたはそれをデバッグすることができるか、別のプラットフォームでビルドすることができるか、特別な機能を有効にするためにソースコードが必要です。 "svn:externals"は書き込みアクセスを必要としないので、ソースコードのフォークまたは複製を意味するものではありません。ビルドされたバイナリのパブリッシングやソースコードの公開は、前者の場合の柔軟性と使いやすさの欠如からほぼ同じです。問題は完全に有効であり、依然として未回答です:TFSはSVNの「外部」プロパティと同等のものを提供していますか? –

+1

シンボルを必要とするだけでデバッグするためのソースコードは必要ありません。 TFSは、インデックス付きシンボルをビルドの一部として作成し、シンボルストアに格納します。このストアをVisual Studioに追加すると、デバッグ用の正しいコードが常にロードされます。 –

関連する問題