我使用VS 2015,因此2015年的TFSCMDLets插件.TFS服务器是2013年。
旧的" New-TfsPendingChange -Rename"不再支持我在SO上找到的语法,无论是根据文档还是我在尝试时收到的错误消息。
我无法检查它们并使用filesystem rename命令重命名它们,因为这会导致TFS失去对文件的跟踪。
我也尝试使用tf.exe,我需要的命令可用,但它似乎无法找出要使用的工作区,即使包含的文件夹只映射到一个工作区。在这种情况下,它在传递文字文件名时工作正常,但在使用foreach传递路径时失败,如下所示: tf workspaces / collection:devtfs \ DeltaWA_ITA_BI
dir" C:\ TFS \ BusinessIntelligence \ Database \ Reporting_Prod \ Test Views \" -filter" * .View.sql" | foreach {$ newname = $ .Name -replace" .View.sql"," .sql&#34 ;; tf重命名$ $ newname}
有没有人有一个适用于VS2015,TFS 2013的示例脚本?
答案 0 :(得分:0)
您应避免使用您的操作系统重命名由TFVC管理的项目(例如,使用Windows文件资源管理器或Windows命令提示符中的重命名命令)。相反,请在源代码管理资源管理器:
中执行此操作如果要使用命令提示符或脚本执行此操作,可以使用tf rename
命令。不确定工作区错误的详细错误消息。
但是,您需要确保从映射文件夹运行命令,您可以运行tf workfold来仔细检查当前文件夹是否已映射。
如果映射并且错误仍然存在,则可能是工作区缓存出现问题。尝试通过tf workspaces命令删除缓存:
tf workspaces /remove:(*|workspace1[,workspace2,...])
/collection:(*|TeamProjectCollectionUrl)
答案 1 :(得分:0)
总体答案分为两部分: 1.您真的必须在要完成工作的文件夹中执行tf.exe。我在我看到的代码中看到了这一点,但并不理解这是一个要求。 2.这意味着您必须将tf.exe放入您的路径中。得到了同事的帮助。
在那之后,我的小脚本按照需要工作。
我仍然没有看到使用TFS CMDLets的方法。这有点遗憾,不是很重要。
感谢您的帮助!