visual-studio-2013 - move 文件在 TFS 2013 中丢失历史记录

标签 visual-studio-2013 move history tfvc

我将 VS2013 Update 4 与 TFS 2013 Update 4 一起使用。在源代码管理资源管理器中,每当我将文件从一个文件夹 move 到另一个文件夹时,我都可以看到该文件的历史记录保存在新位置。但是,当我 checkin 待处理的更改时,该历史记录就消失了。当我尝试运行“tf move”命令时会发生同样的事情。那么,如何在 TFS 中 move 文件并仍然保留文件的历史记录?

最佳答案

正确重命名文件后,历史记录不会“消失”,而是与“旧名称”相关联。以正确方式完成的重命名(作为重命名而不是作为删除+添加进行跟踪)具有一个查看“较旧”历史记录的向下钻取选项:
enter image description here

  • 变更集 81~82 包含对旧名称的更改
  • 变更集 83 包含删除 + 重命名
  • 变更集 84 是重命名后 checkin 的新变更

  • 当在源代码管理资源管理器之外(或从非常旧版本的源代码管理资源管理器(例如 VS 2008))或解决方案资源管理器之外完成重命名时,更改将被检测为两个单独的操作,一个是删除,另一个是添加。您可以使用“待定更改”窗口将这些更改为重命名,以便保留历史记录:
    enter image description here
    在命令行上,这只能使用“tf rename”和“tf move”来完成。使用标准的“mv”和“ren”命令将无法保存历史。
    下面是使用所有不同方法的进一步示例,并通过查看当前文件名的历史记录清楚地表明历史记录被保留:
    enter image description here
    正如评论中提到的,历史记录存储在包含项目修订的团队项目中。在跨项目分支/move 时,您的历史将分布在这些项目中。如果您删除团队项目,则该项目中累积的所有历史记录都将丢失。

    关于visual-studio-2013 - move 文件在 TFS 2013 中丢失历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28990323/

    相关文章:

    c++ - Windows USB 教程

    c++ - 在不断增长的 vector 中返回对元素的引用是不好的做法吗?

    c++ - 什么语言创造了左值这个术语?

    javascript - Document.domain 和 <iframe>s 破坏了 Internet Explorer 中的 "Back"按钮

    c# - 通过 C# 使用 I2C 设备

    c# - Unity3D调用外部dll

    c# - 当 FormBorderStyle 设置为 None 时 winforms 绘制边框并 move

    javascript - HTML 下载 电影下载链接

    javascript - 没有哈希值的 url 更改

    javascript - Typescript:在 Visual Studio 2013 中编译为多个 .js 文件