tf.exe history . /r
直接使用する一般的な答えは機能しますが、ひどく遅くなる可能性があります。私たちの場合、10〜15秒かかります。現在、2段階のチェックを使用しています。最初に、いくつかの任意のファイルのリビジョンをチェックします(ルートフォルダー内のファイルを使用しています)。
PowerShellの場合:
$tfexepath = "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\tf.exe"
$localpath = "C:\some\tfs\directory"
$result = & $tfexepath history $localpath /noprompt /stopafter:1 /version:W
"$result" -match "\d+" | out-null
$id = $matches[0]
次に、/ rフラグを使用してルートから検索しますが、検索を上記のリビジョンから開始するように制限します。
$result2 = & $tfexepath history $localpath /r /noprompt /stopafter:1 /version:$id~W
"$result2" -match "\d+" | out-null
$id2 = $matches[0]
#result:
Write-Host $id2
コードベースの場合、これにより合計時間が10〜15秒から1.4〜1.5秒に短縮されます。
私が理解している限り、欠点や制限はありませんが、小さなリポジトリでは遅くなる可能性があると思います。-知ってよかったです。