Коммиты, связанные со сборкой VSTS

Кто-нибудь знает, как VSTS создает список связанных коммитов для сборки?

Я специально ищу созданные при создании новой ветки. В настоящее время кажется, что он просто создает список последних нескольких коммитов в разветвленной ветке.

В идеале я хотел бы что-то вроде git log master..<commit hash>.

Мы надеялись использовать это как документацию по выпуску, создав новую ветку для выпуска, которая будет содержать полную историю коммитов для всей работы во всех объединенных в нее ветках, но, похоже, это не так.


person Stu    schedule 18.10.2016    source источник
comment
Это коммиты с момента последней успешной сборки этого определения. Но вы можете вызывать git из своей сборки для получения дополнительной информации.   -  person jessehouwing    schedule 18.10.2016
comment
Вам также может пригодиться VSTS Rest API. В частности, могут помочь коммиты Git: visualstudio.com/en -us/docs/integrate/api/git/commits   -  person Chris Melinn    schedule 19.10.2016
comment
Вы решаете эту проблему с помощью нашего решения?   -  person starian chen-MSFT    schedule 26.10.2016
comment
Я могу получить полную историю коммитов, если создам новую ветку и построю ее, можете ли вы поделиться своими шагами?   -  person Eddie Chen - MSFT    schedule 26.10.2016
comment
Я сделал, как сказал @ChrisMelinn: получил текущую информацию о сборке, затем запросил прошлые запуски сборки, выбрал только те, которые соответствуют моему определению, успешны и запущены в той же ветке, что и моя текущая. Затем я взял верхний из полученного списка. И таким образом я получил хэш коммита, из которого был собран этот успешный билд. Затем я спросил API о коммитах между этими двумя, и это дало мне необходимую информацию. Вроде не прямолинейно, но хоть что-то.   -  person shytikov    schedule 08.09.2017


Ответы (1)


Он включает текущую фиксацию и предыдущие неудачные сборки, если они были. Например:

  1. Сборка не удалась (Комментарий фиксации 01), связанные изменения: фиксация 01
  2. Сборка не удалась (комментарий commit 02), связанные изменения: commit 02 commit 01
  3. Сборка прошла успешно (комментарий commit 03), связанные изменения: commit 03 commit 02 commit 01
  4. Сборка прошла успешно (комментарий commit 04), связанные изменения: commit 04

Таким образом, он не будет включать все коммиты.

Чтобы получить все коммиты, вы можете перейти в «Код» => «Выбрать файл или папку» => «История кликов», после чего история будет указана.

Вы также можете получать коммиты через REST API (как сказал Чирс Мелинн).

person starian chen-MSFT    schedule 19.10.2016
comment
Это как бы близко. Но не совсем. Похоже, что VSTS внутри использует какой-то API, который не был раскрыт (пока?), но попробуйте, например, удалить несколько успешных сборок и запустить новую. Он не будет собирать коммиты, которые ранее были связаны с другими сборками. - person shytikov; 08.09.2017
comment
Еще одна мысль: что, если сборка была частично успешной? Должны ли мы считать коммиты, включенные в него, или нет? - person shytikov; 08.09.2017