TFS не предоставляет эту функцию из коробки, но вы можете использовать Powershell для объединения существующих функций TFS, чтобы получить то, что вам нужно.
Мой план заключается в первом использовании tf dir
получить список файлов, а затем использовать tf view
, чтобы получить файлы содержимого и, наконец, кормить его содержимое в Select-String
найти строку (или регулярное выражение), которое мы ищем.
Вы можете начать с:
tf dir /recursive $/
, но этот список, вероятно, будет огромным, поэтому постарайтесь ограничить поиск небольшого объема, как:
tf dir /recursive $/some/path/*.cs
Следующий шаг заключается в преобразуйте результаты предыдущего шага в формат, который мы затем можем передать в tf view
. Вот скрипт, который PowerShell делает это:
(tf dir /recursive $/) -join "+" -replace ":", "" -replace "\+\+", "`n" -split "`n" | %{ $arr = $_ -split "\+"; $arr | select -Skip 1 | %{ $arr[0] + '/' + $_ } }
позволит Теперь трубе списка в tf view
, а затем Select-String
:
... | %{ $file = $_ ; if (tf view "$file" /console | Select-String "some string") { Write-Host $file } }
Не забудьте изменить ту часть, которая говорит "some string"
.
Всего, вы получите:
(tf dir /recursive $/) -join "+" -replace ":", "" -replace "\+\+", "`n" -split "`n" | %{ $arr = $_ -split "\+"; $arr | select -Skip 1 | %{ $arr[0] + '/' + $_ } } | %{ $file = $_ ; if (tf view "$file" /console | Select-String "some string") { Write-Host $file } }
Да, и не забудьте заменить часть, которая говорит "some string"
с вашим фактическим поисковым запросом.
Ответ Grant Holliday на вопрос TFS 2008, который вы цитируете, по-прежнему является точным для TFS 2010. Отметим, что ваша цитата о «добавлении назад» * предполагает, что она существовала один раз в TFS. Я понимаю, что в VSS существовал (рудиментарный) поиск, но я хочу конкретно указать, что VSS и TFS являются двумя отдельными продуктами и не имеют общего родословного. (То есть, это не тот случай, когда один раз существовал поиск в TFS, и мы его удалили.) –
Как указывалось в моем вопросе, у VSS был отличный поиск кода, который будет искать через файлы кода для вашего запроса (ничего не устанавливать, он просто появился с ним как основная функция). TFS никогда не приходил с этим, и MS не позволяла вам использовать его в качестве дополнения. Линия понятна. Это продукт управления Microsoft. Просто потому, что он изменил имена, это не значит, что они не хранят код, не позволяют проверить и проверить, и файлы версий. – DMCS
Это не * изменение имен *. Это совершенно разные продукты. Существует ровно нулевой код. –