27

为了清理我的项目结构,我通过 TFS Power Tools Shell-Extension(重命名/移动)将一个文件夹移动到另一个(新)文件夹中。

在新地点检查历史后,移动是唯一的条目。(我尝试了一个文件夹向上,向下,甚至在移动文件夹中的单个文件上。结果相同。)

在移动之前,我还在文件夹的版本上贴了一些标签,因为我想回到代码的一些重要状态。

那么.. 出了什么问题,我怎样才能获得历史记录或至少再次找出标签名称并检查这些版本?

4

4 回答 4

21

事实证明这很容易。

在 Visual Studio 2010 中,转到“工具”->“选项”。在那里您可以找到显示“已删除”项目的选项(大约在对话框的中间)。旧文件夹在移动过程中被删除 - 激活该选项后它将再次显示。(它们会带有一个灰色的红十字。)

不过,标签似乎已经消失了,所以我不得不按版本进行。

在此处输入图像描述

在 Source Explorer 中,您可以再次进行正常操作 - 例如查看历史记录或获取。

于 2013-01-11T14:09:18.197 回答
17

免责声明:对于来到这里的每个人的参考,这个答案并没有解决@Andreas 问题,只是提供了一些关于为什么会发生这种情况的上下文并提供了一些解决方法。

似乎在 TFS 2010 中移动文件夹时丢失历史记录不是错误,而是“功能”。(仍在 TFS2012 中发生。从此 MSDN链接您可以阅读Microsoft 官方答案

感谢您在这里的反馈。先前关于这是设计使然的评论是正确的,并且在命令行上有一个选项。在 UI 中,文件夹的历史是递归的 - 总是。这是因为大多数时候,用户关心文件夹内容的历史。另一方面,文件没有递归历史的概念——你总是看到文件本身的历史。现在,从命令行,有一个显示递归历史记录 (/r) 的选项,如果您在没有递归选项的文件夹上运行 tf history,您将看到文件夹本身的更改。这将包括更改,例如文件夹本身的重命名。

  • 丢失历史的解决方法:如您所见,您有一个使用tf history的解决方法
  • 避免丢失历史记录的解决方法:如果您想避免丢失文件夹中的历史记录而不是使用移动功能,您可以使用TFS 集成工具将代码从一个文件夹迁移到另一个保留历史记录,从$/TFSCode/FolderA迁移到$/TFSCode/文件夹 B。这有点矫枉过正,但是如果历史记录对您来说非常重要,那么比在已删除的文件夹中查找要好得多
于 2013-06-25T12:07:37.803 回答
14

文件夹历史记录确实丢失了,但单个文件历史记录实际上并没有丢失。它隐藏在文件历史记录行最左侧的小“展开我”箭头下。在文件最旧的历史记录条目上展开它,或在您看到它的任何地方展开,您还将从不再存在的旧位置看到该单个文件的历史记录。

于 2013-07-11T00:47:27.050 回答
4

在历史记录窗口的顶部,您可以编辑源位置,输入旧名称并获取移动之前的完整历史记录。

历史窗口,可编辑的源位置字段

另外,值得一提的是,您可以通过将分支移动/重命名回旧位置/名称来获取完整的历史记录。

于 2017-07-26T16:02:45.103 回答