【发布时间】:2017-06-07 11:24:22
【问题描述】:
我有两个分支,Apple 和 Banana。在Apple 中的所有未合并 变更集中,我只想合并那些在其签入cmets 中包含术语MergeToBanana 的变更集。
到目前为止,这是我的 PowerShell 脚本中的内容:
Param (
[Parameter(Mandatory=$true)]
[String]$ChangesetComment
)
$tf = get-item "c:\program files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\TF.EXE"
if ($ChangesetComment) {
echo "*** Looking for all changesets containing '$ChangesetComment' in their check-in comments. This might take a while. ***"
$changesetsToMerge = & $tf history $/TeamProject/Server/Apple /noprompt /recursive | findstr $ChangesetComment
$changesetNumbers = $changesetsToMerge | % $_.changesetnumber
echo "*** Now merging filtered changesets. ***"
Foreach ($c in $changesetNumbers) {
& $tf merge /version $_.c $/IMSDev/Closed/$ScdVersion . /r /noprompt
}
}
以我的示例为例,当我运行脚本时,ChangesetComment 将设置为 MergeToBanana。
我想修改我的 tf history 命令,使其仅生成有关 Apple 中尚未合并到 Banana 中的变更集的信息,这样我就不必在整个历史记录中搜索变更集在他们的签入 cmets 中包含 ChangesetComment。我该怎么做?
也欢迎任何其他关于如何改进我的脚本的建议。
【问题讨论】:
标签: powershell command-line tfs