移动文件在TFS 2013中丢失历史记录

TDN*_*TDN 13 history move visual-studio-2013 tfs2013 tfvc

我正在使用VS2013 Update 4和TFS 2013 Update 4.在Source Control Explorer中,每当我将文件从一个文件夹移动到另一个文件夹时,我都可以看到文件的历史记录保存在新位置.但是,当我签入挂起的更改时,该历史记录已消失.当我尝试运行"tf move"命令时,会发生同样的事情.那么,如何在TFS中移动文件并保留文件的历史记录?

jes*_*ing 22

正确地重命名文件时,历史记录不是"Gone",而是与"旧名称"相关联.以正确方式执行的重命名(作为重命名而不是删除+添加)具有向下钻取选项以查看"较旧"历史记录:

在此输入图像描述

  • 变更集81~82包含旧名称的更改
  • Changeset 83包含delete + rename
  • 更改集84重命名后签入的新更改

重命名是在源代码管理资源管理器外部(或从旧版本的源代码管理资源管理器(例如VS 2008))或在解决方案资源管理器外部完成的,然后更改将被检测为两个单独的操作,一个删除,一个.您可以使用"待更改"窗口将这些更改为重命名,以便保留历史记录:

在此输入图像描述

在命令行上,这只能使用"tf rename"和"tf move"来完成.使用标准的"mv"和"ren"命令将无法保留历史记录.

下面是使用所有不同方法的另一个示例,并通过查看当前文件名的历史记录清楚地显示历史记录:

在此输入图像描述

如评论中所述,历史记录存储在包含项目修订的团队项目中.在项目分支/移动时,您的历史记录将分布在这些项目中.如果删除团队项目,那么该项目中累积的所有历史记录都将丢失.

  • @vezenkov 历史记录存储在项目上,而不是真正存储在文件夹上。这与历史记录的存储方式有关。查看已删除的项目确实是查找此信息的唯一方法。 (2认同)