1

呃,

我们的其中一种产品依赖于我们每月收到更新的第三方软件。收到的软件在包含大约 100-150K 文件的复杂文件夹结构中包含各种文件和二进制文件。我们需要将新项目添加到我们的版本控制中,以便我们可以将其包含在我们的构建管道中。

我们通过 Powershell 脚本运行整个文件夹结构并tf.exe add file为每个(相关)文件执行“”。目前这需要大约 14 小时。我们已经使它成为多线程的,但这似乎并没有对处理时间产生很大影响。” tf.exe add“-命令只是慢慢来,并且据我们所知不会并发运行。

TF.exe add fileOne.dll
TF.exe add fileTwo.png

我们还尝试优化它在一个命令中处理多个文件

TF.exe add fileOne.dll fileTwo.png

但一直无法让它发挥作用。根据文档,您可以指定多个文件

itemspec - 指定要添加的项目的范围。您可以指定多个 itemspec 参数

但是我们的 TF.exe 错误

TF.exe: C:\workfolder\fileOne.dll fileTwo.png : 没有文件匹配。

对于我的问题:

  1. 为什么不让我们使用“tf.exe add”添加多个文件/项目规范?
  2. 有没有更有效的方法来加快这个过程,将文件批量添加到 DevOps?
4

1 回答 1

0

itemspec 是一种 glob 格式,并在此处进行了说明

您可以使用多个项目规范,但每个项目都必须以路径开头(或植根于当前目录),因此:

tf vc add C:\workfolder\fileOne.dll C:\workfolder\fileTwo.png

或者

c:
cd workfolder
tf vc add fileOne.dll filetwo.dll
tf vc add .\fileOne.dll .\filetwo.dll                         | equivalent of the above

但是,如果您要做的是在需要时将所有文件添加到特定文件夹中,那么与通配符选项结合使用/recursive的是您的朋友:

tf vc add c:\workfolder\* /recursive

为了进一步加快进程,您可以切换到本地工作区,在这种情况下,tf vc add命令不需要与服务器对话来预先进行更改,它只在本地注册。然后 checkin 命令将能够将整批更改的文件批量发送到服务器。

您可以使用以下命令切换工作区:

tf vc workspace /location:local
于 2019-07-24T11:44:12.587 回答