【问题标题】:TFS: pending delete+add => file renameTFS:挂起删除+添加=>文件重命名
【发布时间】:2017-06-22 06:13:13
【问题描述】:

我如何告诉 TFS 挂起的文件删除和添加实际上是重命名?

比如我删了

201505132029594_InitialCreate.cs 和工具已创建

201509141933543_InitialCreate.cs

我想告诉 TFS 这是一个文件重命名+编辑。 理想情况下,从命令行,类似

tf 重命名 /someswitch 201505132029594_InitialCreate.cs 201509141933543_InitialCreate.cs

显然,此功能存在于 UI 中(请参阅“修复操作系统重命名的结果”):

https://msdn.microsoft.com/en-us/library/ms181398(v=vs.110).aspx#fix_os_rename

很遗憾我找不到(显然其他人也找不到)

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/3c909ee5-f6fa-4415-b31c-4822fc30405c/fix-the-outcome-after-you-rename-an-item-in-your-operating-system?forum=tfsversioncontrol

【问题讨论】:

  • 您使用的是服务器工作区还是本地工作区?
  • @Edward,这是一个服务器工作区(我们团队的工作区是由工具创建的,所以我从来没有机会考虑本地与服务器)
  • 切换到本地工作区更改了“排除的更改”下的可用 Visual Studio 选项。现在我看到“检测到:x add(s)”链接并单击该链接宣传推广重命名更改的能力。但是,这并不是适用于所有情况的完整解决方案: - 另一个项目有 650K 文件,这对于本地工作空间来说太多了(根据文档判断)。 - 会喜欢命令行工具的这种能力。
  • 您如何等待更改?您是否使用tf online 或其他东西来检测更改?
  • 删除 - 在 VS 中手动;添加 - 一个工具(用于添加新迁移的实体框架的 powershell 命令)将文件添加到 Visual Studio,最终会自动将它们添加到源代码控制(名称不同但内容几乎相同)。这导致我想将其转换为重命名的删除添加。但这只是一种情况,还有其他情况,但是它们通常与使用不将其操作表示为重命名的工具有关。不必手动检测更改。

标签: tfs rename


【解决方案1】:

您可以使用 TFS API 重命名。在您的情况下,您只需要让 TFS 知道发生了什么,而不需要更改磁盘上的任何内容。因此,使用Workspace.PendRename 方法并为updatedisk 指定false

【讨论】:

    猜你喜欢
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 2015-03-09
    • 1970-01-01
    • 2015-06-08
    • 1970-01-01
    相关资源
    最近更新 更多