#tfs #label #changeset
#tfs #метка #набор изменений
Вопрос:
Мы планируем перейти от StarTeam к TFS для управления версиями и находимся в процессе совершенствования наших процедур ALM. Возможно, я что-то неправильно понимаю в том, как работают метки в TFS, но, похоже, вы можете применять метки к файлам с помощью набора изменений. Я пытаюсь создать ярлык для только файлов / версий в определенном наборе изменений.
Я попытался сделать это следующим образом: 1) Главное меню -> Управление версиями -> Применить ярлык 2) Появится диалоговое окно «Новая метка» 3) Оставьте путь как есть (ветка разработки) 4) Выберите «Набор изменений» из выпадающего списка «Версия», введите мой набор изменений # 5) Нажмите Создать.
… в результате вся ветвь становится помеченной. Набор изменений может состоять из 1-00 файлов, поэтому по отдельности помечать файлы нецелесообразно.
Мы делаем это постоянно в starteam: помечаем наборы изменений, связанные с функциями, затем перемещаем ярлык сборки вверх на помеченный набор изменений. Я упускаю что-то фундаментальное? (Спасибо за любые рекомендации)
Комментарии:
1. Это может быть сложно, но будет ли shelveset работать для вашего сценария? Это может не позволить вам делать все, что вы хотите, но это сохранит определенный набор файлов в определенном известном состоянии для исторических целей. Кроме того, вы могли бы рассмотреть стратегии ветвления, которые облегчили бы то, чего вы хотите достичь.
2. набор полок сохранит группу файлов вместе, но изменения не будут применены к реальной ветке. Это было бы хорошо, если целью является экспертная оценка перед внесением изменений или что-то в этом роде.
3. Нашей целью было пометить для сборки. Сложность заключается в том, что метка не всегда будет применяться к последней версии файла. Исторически сложилось так, что мы всегда делали что-то в starteam из-за различных ограничений: никаких ветвлений, несколько разработчиков обращаются к одним и тем же файлам с разными сроками. Мы изменили наш подход с преобразованием в TFS, используя ветвление / разделение на полки, чтобы мы могли по существу создавать из последней версии всех файлов.
Ответ №1:
Обратите внимание на название… вы помечаете с помощью набора изменений, не помечая набор изменений.
Пометка в TFS подобна пометке момента времени. Итак, когда вы помечаете с помощью набора изменений, вы, по сути, говорите, что так выглядело мое управление версиями на данный момент времени.
Это больше похоже на то, что вы говорите, что хотите иметь возможность находить набор изменений (changeset), а не все на момент, когда был сделан набор изменений.
Вы могли бы выбрать стратегию ветвления, которая позволила бы вам ветвиться по функциям. Недостатком этого является то, что это потребует большого слияния.
Другим вариантом было бы связать наборы изменений для любой конкретной функции с рабочим элементом, и тогда у вас будет список наборов изменений, которые вы захотите объединить, как только вы завершите эту функцию. В 2008 году это может быть немного проблематично, потому что объединение наборов изменений, которые не являются последовательными, может занять больше времени, чем необходимо. (это означает, что в этой ветви есть промежуточные наборы изменений, а не то, что номера наборов изменений являются последовательными)
К счастью, вы можете попробовать разные стратегии ветвления, и пока вы все продумываете, переключиться не так уж сложно, если вам не нравится, как вы это делали.
Комментарии:
1. Отмечая это как ответ на разъяснения и соответствующие предложения по ветвлению. Исходя из starteam, где мы продвигали выбранные версии кода для сборок, я надеялся имитировать то же поведение для наборов изменений. Битов прав, говоря «Обратите внимание на имя… вы помечаете с помощью набора изменений, а не помечаете набор изменений «. Спасибо за вашу помощь.
Ответ №2:
В TFS2010 я тестировал добавление ярлыков в набор изменений, и я вижу то же поведение, о котором вы сообщали.
При просмотре набора изменений он будет содержать только те файлы, которые были возвращены.
При просмотре ярлыка, который был создан в том же наборе изменений, он будет содержать все файлы в ветке, причем каждый файл показывает версию набора изменений при последней регистрации.
Я не знаю, почему это работает таким образом.