Это работает как задумано.Будьте очень осторожны с метками в TFS, они немного отличаются от меток, которые вы могли бы использовать в других типах контроля версий.В TFS метки очень изменчивы и могут легко перемещаться только в один файл.Они мощные, но опасные.
Как уже упоминалось, вы можете сделать ярлык для отдельных файлов, и все будет в порядке.Однако, когда вы делаете определенный ярлык для папки, вы просите TFS восстановить все в этой папке до той же версии, которая указана на ярлыке.Если файл в этой папке не помечен, он не будет соответствовать ни одной метке версии и будет удален.
Помните, что один файл / версия в TFS может иметь несколько меток, поэтомуОдин из способов обойти это - пометить все файлы в этом каталоге новой меткой, а затем переместить эту новую метку в ту же ревизию, что и другая метка.
Рассмотрим три файла в $/Project/Folder
...два помечены LABEL_A
, а один вообще не помечен.Вы бы сделали что-то вроде этого.
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
Обратите внимание, что равно двум L's
после /version:
...это говорит TFS переместить эту метку из одной версии файла в другую версию.
Как только это будет сделано, получите конкретную информацию, основанную на LABEL_B
, и у вас все получится.