TFS: Как я могу выбрать один из моих предыдущих комментариев коммита? - PullRequest
2 голосов
/ 18 апреля 2011

Часто я хотел бы использовать предыдущий комментарий коммита (и отредактировать, например, только одно слово) для регистрации.

Я привык к затмению, где эта функция работает довольно хорошо.

Это также доступно для TFS? Я еще не нашел (несмотря на быстрый поиск в Интернете), я слепой? (В настоящее время я использую TFS 2010 с VisualStudio 2010)

С наилучшими пожеланиями, Mayoares

Ответы [ 2 ]

4 голосов
/ 18 апреля 2011

Я не думаю, что в VS есть что-то, что могло бы помочь здесь (кроме вырезания и вставки через историю изменений).

Однако небольшой PowerShell с PSCX (расширения сообщества PowerShell) и оснасткой TFS PowerToys PowerShell сделают это с текущей папкой, для которой установлен корневой каталог решения:

(Get-TfsItemHistory . -recurse -stop 1).Comment | Set-Clipboard

поместит комментарий в буфер обмена. Используя сеанс PowerShell NuGet в TFS, это может быть полностью автоматизировано (оставлено в качестве упражнения).

0 голосов
/ 16 марта 2014

Не отнимать у @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, это позаботится о плохо оптимизированной переносе строк в заголовках столбцов.)

...