代码之家  ›  专栏  ›  技术社区  ›  Jan_V

使用tf签入多个文件。exe在一个变更集中

  •  4
  • Jan_V  · 技术社区  · 8 年前

    这一切都运行得相当好,但此时我们正在运行checkin命令,该命令如下所示

    tf.exe checkin /force /comment:"foo" /noprompt /bypass /override:"bar"
    

    所有带有 Pending 状态将被签入。

    我想让这个脚本更具体一点,只签入我们在构建过程中实际更改的文件(总共2个),这样我们就可以确定不会“意外”签入任何文件。

    我已经看到,我们可以使用 checkin command ,但这样我们将在TFS中得到2个不同的变更集,而不是1个。我们真的希望有一个变更集,包含两个更改的文件,因为这些更改属于彼此。

    有什么办法吗?

    少量添加/短期解决方案

    tf.exe checkin "/my/folder/location/" /recurse /force /comment:"foo" /noprompt /bypass /override:"bar"
    

    注意文件夹位置和 /recurse 添加了参数。

    2 回复  |  直到 8 年前
        1
  •  4
  •   Tore Østergaard    8 年前

    只需按空格分隔文件:

    tf.exe checkin file1.ext file2.ext /force /Comment:"foo" /noprompt /bypass /override:"bar"
    

    这个 documentation 项目规范 它可以是多个项目。

    Is there a way to check-out multiple files from various folders in TFS in a single operation

    正如其他人所提到的,您可能会遇到命令行比系统支持的长的问题,在这种情况下,您可能需要考虑其他解决方案。

        2
  •  0
  •   PatrickLu-MSFT    8 年前

    cmd.exe 对命令的长度有限制。与传递大量长文件名相比,使用版本控制API或简单的“tf checkin/i”(无参数)可能是更好的选择。

    如果文件因更改而自动签出,并且文件内容最终更改回原始状态,这是正常的。在这一点上,您将看到关于相同内容的消息进行比较。你也可以使用 tfpt uu /noget /r * 命令忽略与原始文件相同的文件。您需要安装TFS电动工具才能工作。 注:2017年没有TFS电动工具。

    有关更多详细信息,请参阅以下两个链接: