Как предотвратить удаление TFS наборов полок, которые были возвращены через построение в очереди?

Регистрация наборов полок - хорошая функция системы сборки в TFS, но набор полок удаляется после завершения сборки. Есть ли способ изменить это поведение, чтобы сохранить набор полок?

Я все время использую функцию build + check in shelveset, чтобы проверить код от товарищей по команде, но иногда я не хочу, чтобы исходный набор shelveset удалялся TFS. В некоторых ситуациях это может вызвать проблемы, например, когда набор полок связан с рабочим элементом проверки кода. В этом случае все комментарии из обзора кода скрыты Visual Studio, поскольку она не может найти связанный набор полок.

Я искал в окне свойств по умолчанию при постановке сборки в очередь в Visual Studio, но, похоже, не существует какой-либо опции для управления этим поведением. Придется ли мне настраивать сборку xaml, чтобы это изменить, или есть известный способ без необходимости добираться до этого?


person julealgon    schedule 08.03.2016    source источник


Ответы (1)


Если вы имеете в виду, что сборка + проверка в shelveset создает набор Shelveset, и проверьте изменения после успешной сборки, как показано ниже:

введите описание изображения здесь

Тогда это невозможно. Поскольку вы проверили свой набор полок. Это не связано со сборкой. Таким образом, этот вопрос аналогичен тому, как проверить набор полок и предотвратить их удаление. Полка сохраняет все изменения в вашем ящике без фактической регистрации. Изменения сохраняются на сервере. Таким образом, другие члены команды могут видеть исходный код, а также могут проверять чужие полки.

Также можно относиться к нему как к своеобразной таре.

  • Вы создаете свой файл и фиксируете его в наборе полок (контейнер A).
  • Затем вы переходите к агенту сборки и переносите этот Shelveset в локальную рабочую область (контейнер B).
  • Затем вы фиксируете набор полок (из контейнера A в систему управления версиями), регистрация из контейнера A выполняется успешно, а контейнер A удаляется, чтобы отразить, что Gated Shelveset завершил свой жизненный цикл (в случае сбоя он останется нетронутым)
person PatrickLu-MSFT    schedule 09.03.2016
comment
Это облом ... Я думаю, что у TFS должна быть возможность справиться с этим, так же, как вы можете оставить набор полок на сервере при снятии с полки (установив флажок для этого). Тогда мне нужно будет придумать способ проверять работу других людей, не вмешиваясь в связанные проверки кода. Я думаю, что теперь я буду просить коллег создать копию исходного набора полок, а затем проверять ее. - person julealgon; 09.03.2016
comment
Рассуждения выше не имеют смысла. В полку не регистрируют. Разработчик регистрирует код в той рабочей области, в которой он сейчас находится. Возможно, он был получен из набора полок, но набор полок остается и не связан с действием проверки. - person Shawn South; 23.03.2016
comment
@ShawnSouth. Боюсь, что нет, может мое описание неточно. Обновите мой ответ. Вы можете рассматривать стеллаж как своего рода контейнер. Вы создаете свой файл и фиксируете его в наборе полок (контейнер A). • Затем вы переходите к агенту сборки и получаете этот Shelveset в локальную рабочую область (контейнер B). • Затем вы фиксируете набор Shelveset (из контейнера A в систему управления версиями), регистрация из контейнера A выполняется успешно, и контейнер A удаляется, чтобы отразить это закрытый Shelveset завершил свой жизненный цикл (в случае неудачи он останется нетронутым) - person PatrickLu-MSFT; 23.03.2016
comment
@ Patrick-MSFT Это то, о чем я говорил, но оказалось, что вы были правы. Я только что узнал сегодня утром, что можно проверить набор полок напрямую, используя командную строку: stackoverflow.com/a / 4507264/1058872 - person Shawn South; 23.03.2016