確認すべき点がいくつかありますが、TFS/プロジェクト構造の変更を行う前に、現在のすべての変更を (すべてのチームに対して) チェックインし、get-latest を実行してこれらの変更をすべて取得し、バックアップを作成することをお勧めします。ローカル ワークスペース フォルダー全体。
あなたに完全に答えるために明確にする必要がある1つのポイント...どのサブフォルダーが分岐されていますか? IE は通常、 に分岐MSB/Main
しますか、それとも、などTeamProjectA/Main
の個々のプロジェクトに分岐しますか?MSB/Main/Enterprise/Project1
Project2
最初: ワークスペースのマッピングを確認します... Visual Studio で、ソース管理エクスプローラーを開きます。ウィンドウの上部にワークスペースのドロップダウンがあります...「ワークスペースの管理...」を選択して、メインのワークスペースを編集します。
理想的には、TFS プロジェクトのルート (この場合は「$」) をルート ローカル作業フォルダーにマッピングする作業フォルダーが 1 つだけ存在します。複数の作業フォルダーがある場合は、2 番目のフォルダーがルートのサブフォルダーでないことを確認してください。IE 用に別のフォルダーを用意するべきではありません$/TeamProjectA/Main/Enterprise/Project1
。もしそうなら、それを削除し、ルートから get-latest を実行してください。
TeamProjectB/Project1
がフォルダーにマップされている場合TeamProjectA
、参照を何回変更しても関係なく、常にチーム B のプロジェクトをロードしているため、これは私の最初の推測です。
2 番目: 分岐は 1 回だけ行います。その後のすべてがマージされ、直接の親と子の間でのみマージできます (フープをジャンプして手動でマージを台無しにしない限り... 9 カ国で射撃可能な犯罪です)。
つまり、Project1
から分岐している限り、TeamProjectB
常に に結び付けられTeamProjectB
ます...各チームおよびプロジェクトの TFS で参照を修正できますが、 にマージしTeamProjectA
て戻すとMSB
、 Project1 はMSB
すべてとマージされません。そうしないと。
何が起こるかははっきりしていません...そのプロジェクトは何もマージされないか、TeamProjectB
のフォルダーにマージされます。後者が当てはまるとは思えませんが、前者もあまり意味がありません... TFSが何らかの形で短絡することをほとんど期待しています。
私は(完全なWAG)から分岐できたので、分岐Project1
しTPB
てTPA
いない/Main
か、または/Main/Enterprise
...答えがTFS
別の分岐のサブフォルダーへの分岐を許可しないことを願っています。
これを修正するには
にマージProject1
しTPB
ます。チェックイン。
にマージTPB/Project1
しMSB
ます。チェックイン。
を選択しTPA/Project1
ます。に進みFile -> Source Control -> Branching and Merging -> Reparent
ます。MSB's Project 1
新しい親として選択します。ブランチが/Main
またはから作成された場合/Main/Enterprise
、ブランチ ルートが何であれ、親を変更する必要があります。
(TPB/Project1
ルート化されていない場合MSB
、これはオプションではないことに注意してください...プラン「B」に進みます)
これらの変更をチェックインできる/チェックインする必要があるかどうかわかりません... 安全のために、TPA と MSB の両方でチェックインしてください
プラン 'B' : それがうまくいかない場合は、 を削除TPA/Project1
してから再分岐する必要がありますMSB
。これを行う前に、すべてがマージされているMSB
(そしてチェックインされている) ことを確認してください。
TFSは、既存のディレクトリへの再分岐について不平を言うことがあります (の削除履歴を保持しているためTPA/Project1
)...そうなるとは思いませんが、そうなった場合は、コマンド ライン ツールを使用して完全に削除する必要があります。TPA/Project1
. コマンドはtf destroy
... ローカル フォルダーから実行していることを確認してください。そうしTPA/Project1
ないと、tf が tfs サーバー/パスを解決できない可能性があります。
チッ!
ジェームズ