これは設計どおりに機能しています。TFSのラベルには十分注意してください。ラベルは、他の種類のソース管理で使用されているラベルとは少し異なります。TFSでは、ラベルは非常に変更可能であり、1つのファイルに簡単に移動できます。それらは強力ですが、危険です。
前述のように、個々のファイルに対してget by labelを実行でき、問題はありません。ただし、フォルダーで特定のget by labelを実行すると、TFSに、そのフォルダー内のすべてをラベルに示されているのと同じバージョンに復元するように要求します。そのフォルダ内のファイルにラベルが付いていない場合、そのファイルはどのバージョンラベルとも一致せず、削除されます。
TFSの1つのファイル/バージョンに複数のラベルを付けることができるため、これを回避する1つの方法は、そのディレクトリ内のすべてのファイルに新しいラベルを付けてから、この新しいラベルを他のラベルと同じリビジョンに移動することです。 。
...の3つのファイルについて考えてみ$/Project/Folder
ます。2つは。でラベル付けされてLABEL_A
おり、1つはまったくラベル付けされていません。あなたはこのようなことをするでしょう。
tf label /server:http://tfs:8080 LABEL_B $/Project/Folder /recursive
これにより、すべてのファイルにLABEL_Bのラベルが付けられます。LABEL_B
次に、正しいバージョンのLABEL_A
ファイルに移動する必要があります。
tf label /server:http://tfs:8080 LABEL_B $/Project/Folder /recursive /version:LLABEL_A
...の後に2つあることに注意してください。これは、ファイルのあるバージョンから別のバージョンにそのラベルを移動するようにTFSに指示します。L's
/version:
それが終わったら、に基づいて具体的にしLABEL_B
てください。そうすれば、うまくいくはずです。