Не отнимать у @Richard за предоставление сути решения - я уже проголосовал за его ответ - но здесь есть еще что сказать.
ОП был слегка двусмысленным: заголовок склонялся к возможности выбора какого-либо недавнего сообщения о коммите, в то время как тело больше предлагало извлечь самое последнее сообщение о коммите.Ричард отлично справился с последним, но я думаю, что стоит также прокомментировать и первое.
Рассмотрим эту функцию, которая использует те же Get-TfsItemHistory
из TFS 2013 Power Tools , о которых говорил Ричард:
function Get-TfsComment([string]$pattern = ".*", [string]$Path = ".")
{
Get-TfsItemHistory $Path -Recurse | ? { $_.Comment -match $pattern }
}
С этим на месте попробуйте:
# Get all comments
Get-TfsComment
# Get 10 latest comments
Get-TfsComment | Select -First 10
# Get all comments containing "bug" and "fix"
Get-TfsComment "bug.*fix"
# Get all comments in your tests folder containing "support"
Get-TfsComment -path .\tests -pattern support
Выходные данные этой функции создают коллекцию Microsoft.TeamFoundation.VersionControl.Client.Changeset объектов;список отображаемых по умолчанию свойств, как правило, - это все, что вам нужно:
Changes Owner CreationDa Comment
etId te
------- ----- ---------- -------
1187 MYDOMAIN\fred 3/13/2014 Bug fixes for xyz...
1118 MYDOMAIN\wilma 3/7/2014 New features 139 and 448
1076 MYDOMAIN\barney 2/28/2014 Who remembers this...?
. . .
(Обратите внимание, что если вы перенаправите вывод в FormatTable -AutoSize
, это позаботится о плохо оптимизированной переносе строк в заголовках столбцов.)