1

私はここで同様の質問について読んでいますが、探していたものを見つけることができませんでした。皆さんが私がこれをよりよく理解するのを手伝ってくれることを願っています。

私が働いている場所では、「メガ」チームプロジェクトをより管理しやすいチームプロジェクトに分割して、必要なものだけを構築できるようにしています。私は概念実証を行いましたが、それはうまく機能します。基本的に、ソリューション(sln)をチームプロジェクト(およびそれに付随するすべてのプロジェクト)として分離し、次に、共通ファイル(dllまたは外部からの他のslnプロジェクト)である別のチームプロジェクトを作成します。これは、ベースレスマージの調査を行った後の最良の結果でした(これは楽しいことであり、期待どおりに機能しなくなりました)。とにかく、根拠のないマージはありません...

更新/編集...メガブレイクダウン:

$(MegaTeamProj)
$(MegaTeamProj)\Common\
$(MegaTeamProj)\SolutionA\
$(MegaTeamProj)\SolutionA\Aproject
$(MegaTeamProj)\SolutionA\Bproject
$(MegaTeamProj)\SolutionA\thesol.sln
$(MegaTeamProj)\SolutionB\
$(MegaTeamProj)\SolutionB\Aproject
$(MegaTeamProj)\SolutionB\Bproject
$(MegaTeamProj)\SolutionB\thesol.sln

これを次のように分解しようとしています:

$(Common)

$(SolutionA)\Aproject
$(SolutionA)\Bproject
$(SolutionA)\thesol.sln

and

$(SolutionB)\Aproject
$(SolutionB)\Bproject
$(SolutionB)\thesol.sln

私が今苦労しているのは、そのソリューションのチェックインのすべての履歴を保持する新しいチームプロジェクトを作成することです。svnを使用している場合は、リポジトリフォルダーのクローンを作成し、不要なものを削除してコミットすることができます(たとえば、TFSを使用した戦略的思考など)。とにかく、もう1つの問題は、TFSを実際に保守しているサードパーティが存在することです(専門用語:))。そのため、チームエクスプローラーを使用して、新しいプロジェクト(レポート付き)を作成するなどの管理機能があります...

(ソース管理エクスプローラーのUIを介して)フォルダー/ファイルを移動しようとしましたが、履歴が新しいチームプロジェクトに引き継がれませんでした。同じプロジェクト内でフォルダまたはファイルを移動すると、明らかに履歴が移行されます。

皆さんはどのようにこれに取り組みましたか?

ありがとう、ケリー

4

2 に答える 2

1

@Bettyは、いくつかの問題を議論する上で素晴らしい助けになりました。歴史を移行して保存する方法についての私の質問に対する答えを提供できればと思います。プロジェクト間で分岐して移動しようとしましたが、成功しませんでした。ところで、それは簡単に理にかなっています。各チームプロジェクトには独自のSQLデータベースがあり、この場合、履歴はソリューションA、Bなどではなくチームプロジェクトに基づいています...サードパーティがソースを提供しているため、他のソリューションを試すことも困難です。制御サービス(TFSおよびビルドエージェント)。

私たちの場合(私が働いている場所)では、ディレクターがファイルを新しいチームプロジェクトにコピーしても問題ありませんでした。リリースが終わったら、そのプロジェクトをコピーしました。この場合、現在の構造はそのまま残ります。新しいチームプロジェクトで作業を続けるようにグループに指示しました。

そうすることで、次のようになります。

$(MegaTeamProj)
$(MegaTeamProj)\Common\
$(MegaTeamProj)\SolutionA\
$(MegaTeamProj)\SolutionA\Aproject
$(MegaTeamProj)\SolutionA\Bproject
$(MegaTeamProj)\SolutionA\thesol.sln
$(MegaTeamProj)\SolutionB\
$(MegaTeamProj)\SolutionB\Aproject
$(MegaTeamProj)\SolutionB\Bproject
$(MegaTeamProj)\SolutionB\thesol.sln

また、新しく作成されたプロジェクトもあります。

$(Common)

$(SolutionA)\Aproject
$(SolutionA)\Bproject
$(SolutionA)\thesol.sln

$(SolutionB)\Aproject
$(SolutionB)\Bproject
$(SolutionB)\thesol.sln

そのため、スタッフは引き続きMegaTeamProjを介して古い変更を確認し、それぞれのチームプロジェクトで新しい開発を行うことができます。

将来的にこれを簡単にする方法についてマイクロソフトが考えていることを願っています。これとSVNの間では、VSを選択したいと思います。TFS。

于 2012-10-24T17:35:42.027 に答える
0

こんにちは私はこれを正しく理解しているかどうかわかりませんが

  1. あなたがコレクションを分割しようとしているなら、私はこれに出くわしまし

  2. TFSコレクションを新しいサーバーに移行しようとしている場合は、デタッチ/アタッチ方法を試すことができます(チームプロジェクトコレクションの移動)

問題が#2の場合、すべてのチェックイン履歴も含まれます。

于 2013-05-08T03:20:40.627 に答える