在我们的一个版本中,我们正在启动一些自动过程,即自动检出并检入一些文件。
这一切都运行良好,但此时我们正在运行checkin命令,如下所示
tf.exe checkin /force /comment:"foo" /noprompt /bypass /override:"bar"
所有状态为Pending
的文件都将被签入。
我想让这个脚本更具体一些,只检查我们在构建过程中实际更改的文件(总共2个),所以我们肯定知道没有文件会“偶然”检查。< / p>
我已经看到我们可以使用checkin
command指定一个文件名,但这样做我们将在TFS中获得2个不同的变更集,而不是1.我们真的希望有1个变更集,包含已更改的文件,因为更改属于彼此。
有关如何处理此事的任何想法?
次要补充/短期解决方案
目前我已经通过指定修改后的文件所在的文件夹解决了我们的“问题”,这种文件看起来像这样
tf.exe checkin "/my/folder/location/" /recurse /force /comment:"foo" /noprompt /bypass /override:"bar"
请注意文件夹位置和添加的/recurse
参数。
答案 0 :(得分:3)
您只需按空格分隔文件:
tf.exe checkin file1.ext file2.ext /force /Comment:"foo" /noprompt /bypass /override:"bar"
documentation并不清楚这一点,但它可能是 itemspec 的一般规范,它可以是多个项目。
查看有关结帐的类似问题:Is there a way to check-out multiple files from various folders in TFS in a single operation
正如其他人所提到的,您可能会遇到命令行长于系统支持的问题,在这种情况下,您可能需要查看其他解决方案。
答案 1 :(得分:0)
cmd.exe
对命令的持续时间有限制。使用版本控制API,或简单地't checkin / i'(无参数)可能是比传递大量长文件名更好的选择。
如果文件由于更改而自动检出,并且最终文件的内容更改回原始状态,则是正常的。此时,您将在比较时看到有关相同内容的消息。您还可以使用tfpt uu /noget /r *
命令忽略与原始文件相同的文件。您需要安装TFS Power Tools才能实现此功能。 注意:2017年没有TFS Power工具。
有关详细信息,请参阅以下两个链接: