TFSレンジャーチームが提供するベストプラクティスに従ってTFSを構成する方法を理解するのに問題があります。問題はそのようなものです:
私の会社には、共有の共通コードベースを利用する製品がいくつかあります。
> $/Core
> -> /Main/Source (Parent Branch)
>
> $/Product1
> -> /Main/Source
> -> /Main/Source/Core/Source (Child Branch from $/Core)
> -> /Main/Source/...
>
> $/Product2
> -> /Main/Source
> -> /Main/Source/Core/Source (Child Branch from $/Core)
> -> /Main/Source/...
したがって、1つのチームコレクションがあり、この例では3つのチームプロジェクトがあります。($ / *はチームプロジェクトです)
最初のリリースの分岐は少し面倒です。/Mainから/Releases、または/Mainから/Developmentに分岐する代わりに、各プロジェクトを個別に分岐しています。(チームプロジェクトではなく...ソリューションプロジェクト。)
これは、ネストされたブランチルートを持つことができないためです。(TFSエラー:TF203028およびTF203071を参照してください)
TFS Ranger Guideと、リリース、ホットフィックス、開発を分岐するための改訂されたアプローチによると、/ Main / Source / Proj1、/ Proj2、/Proj3などではなく/Mainから分岐する必要があります。
理想的には、次のことを行います。
> $/Product1
> -> /Main/ (Branch - Parent)
> -> /Releases
> -> /1.x
> /1 Service Pack (Child Branch from $/Product1/Main
> -> /1.0
> -> /1.0 Hotfix (Child Branch from $/Product1/Releases/1.x/1 Service Pack)
> -> /1.0 RTM (Child Branch from $/Product1/Releases/1.x/1.0/1.0 Hotfix - Read Only)
> -> /1.0.22 RTM (Child Branch from $/Product1/Releases/1.x/1.0/1.0 Hotfix - Read Only)
> -> /1.5
> -> /1.5 Hotfix (Child Branch from $/Product1/Releases/1.x/1 Service Pack)
> -> /1.5 RTM (Child Branch from $/Product1/Releases/1.x/1.5/1.5 Hotfix - Read Only)
解決策:1。各共有ブランチ(つまり、$ / Core)を通常のフォルダーに戻すことができます。このように、/Mainの下のフォルダはブランチルートではありません。次に、$ / Product1 / Main / Source / Core/Sourceから親の$/Core/Sourceへのベースレスマージを実行できます。
根拠のないマージの経験はありますか。私がマイクロソフトから読んだことは、それらはありふれたものであってはならない例外であるということです。MSは、TFSを使用してプロジェクトを適切にセットアップすれば、ベースレスマージを実行する必要がなくなると述べています。
チームプロジェクト間で分岐する場合、これはどのように可能ですか?!?ソフトウェア開発会社では、製品間でライブラリを共有するのが一般的です。
私は他の解決策にもオープンです。
ありがとう!