【问题标题】:Modify "tf history" command to yield only unmerged changesets修改“tf history”命令以仅产生未合并的变更集
【发布时间】:2017-06-07 11:24:22
【问题描述】:

我有两个分支,AppleBanana。在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


    【解决方案1】:

    您可以尝试在TF merge command 中使用/candidate 选项,而不是使用 tf history 命令

    tf 合并 /candidate SOURCE_BRANCH TARGET_BRANCH

    例子:

    tf 合并/候选苹果香蕉

    更多详细方法请参考本题答案:TFS: List changesets that have not been merged

    【讨论】:

      猜你喜欢
      • 2016-01-10
      • 2012-05-07
      • 1970-01-01
      • 1970-01-01
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      相关资源
      最近更新 更多