Где хранится версия Team Build TFS 2010 $(Rev:.r)?

TFS 2010 предоставляет свойство формата номера сборки, которое содержит переменные $(BuildNumberDefinitionName) и $(Rev:.r) (среди прочего). Две с половиной части на мой вопрос:

  1. Какие все доступные переменные можно здесь использовать?

  2. Откуда берется значение для $(Rev:.r) (где оно хранится)?

    а. Можно ли сбросить или изменить?


person BlueMonkMN    schedule 12.10.2010    source источник
comment
В ответе на 2а см. мой ответ на аналогичный вопрос: stackoverflow.com/a/24049746/2563198   -  person Keith Murray    schedule 05.06.2014


Ответы (2)


http://www.richardmaxwell.name/blog/2011/5/5/force-tfs-build-revision-to-a-specifc-value.html

Каждый раз, когда вы меняете номер сборки в сборке TFS, версия сбрасывается до 1, что и должно происходить в большинстве случаев. Но иногда вы хотите начать с ревизии 100, возможно, воссоздавая удаленное определение сборки или просто желая сохранить старую ревизию в новой ветке. Мне понадобился счастливый случай, чтобы узнать, как это возможно. Вы должны заменить динамическую ревизию на жестко закодированную, построить, а затем изменить ее обратно. Из-за разочарования я в конце концов попробовал это:

Формат номера сборки: 1.0.0.100

Это дало мне нужную сборку, а затем изменило ее на это:

Формат номера сборки: 1.0.0$(Rev:.r)

Это взяло мое последнее значение, начиная будущую сборку с 1.0.0.101, вместо увеличения последней версии, которую он использовал, 1.0.0.2. Таким образом, я смог пропустить сборки с 1 по 99 и начать с ревизии 100 в моем номере сборки.

person Richard    schedule 05.05.2011
comment
К вашему сведению, это больше не работает в TFS2015. Я бы предположил, что это не работает и на VSOnline. - person Jon; 02.09.2015

Откройте определение сборки, перейдите на вкладку «Процесс», найдите раздел «Формат номера сборки» и нажмите кнопку «...» в конце. Здесь вы увидите кнопку «Макросы>>», которая содержит все доступные переменные. Насколько я знаю, $(Rev:.r) сообщает, что это определение выполняется N-й раз в конкретную дату. Он хранится во внутренней базе данных TFS.

person Afshar Mohebi    schedule 13.10.2010
comment
Нет ли поддерживаемого способа увидеть текущее значение и сбросить его? - person BlueMonkMN; 13.10.2010
comment
Чтобы увидеть текущее значение, я проверяю завершенные/поставленные в очередь сборки определения сборки. Но для негодования есть сейчас идея. - person Afshar Mohebi; 14.10.2010
comment
Завершенные/поставленные в очередь сборки могут быть удалены, поэтому я не думаю, что это точный способ узнать, какая сборка будет следующей. - person BlueMonkMN; 18.10.2010