我正在创建一个脚本来在我的TFS实例中进行大量移动。我有2010TFS Power Tools提供的tfs cmdlet,但它们的get-help文档非常稀疏。具体来说,Add-TfsPendingChange似乎不支持重命名,这迫使我使用"tf。exe重命名"代替。

首先:我是否以某种方式错过了cmdlet的文档?我已经在命令上尝试了get-help,但它们不支持-detailed或-examples标志。还有什么可用的吗?

其次:我有什么理由更喜欢任何cmdlet而不是常规tf。exe?在执行类似功能时,除了通过管道传递对象之外,还有其他好处吗?

有帮助吗?

解决方案

在这一点上,TF cmdlet有点简约,包括提供的文档。一般来说,我会使用TF cmdlet,它们支持我试图做的事情-特别是如果您有任何查询。处理查询cmdlet的输出要容易得多,因为它们为您提供了丰富的对象,而不是在使用类似的东西时必须解析的文本流 tf status . /r.

另请记住,在x64Windows系统上,TF cmdlet仅在32位PowerShell主机中工作。

其他提示

tf cmdlet并不完全没用,但是...我们决定现在尝试在我们的构建环境中使用它们,即使它意味着文本解析。

除了x64的东西之外,有很多缺少命令(谢谢@Keith)和缺少参数,而最重要的是,他们不适用于远程会话!

第三个选项是在PowerShell中使用TFS公共程序集。执行此操作时,您可以访问所有TFS客户端功能,并且仍然仍使用TFS cmdlet。是否选择基于tf.exe和其他TFS命令行可执行文件的方法取决于您喜欢哪种脚本环境。

这是一个PowerShell命令,用于引用TFS 2013公共程序集(对于TFS 2012或2010,只需将Version=12.0.0.0更改为Version=11.0.0.0Version=10.0.0.0)。 通用标签

对于您的重命名示例,您可以:

  1. 使用Get-TfsWorkspace cmdlet实例化一个 Microsoft.TeamFoundation.VersionControl.Client.Workspace对象。
  2. 调用Workspace对象的 PendRename GetPendingChanges Checkin 方法。

    类似这样的东西: 通用标签

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top