为了清理我的项目结构,我通过 TFS Power Tools Shell-Extension(重命名/移动)将一个文件夹移动到另一个(新)文件夹中。
在新地点检查历史后,移动是唯一的条目。(我尝试了一个文件夹向上,向下,甚至在移动文件夹中的单个文件上。结果相同。)
在移动之前,我还在文件夹的版本上贴了一些标签,因为我想回到代码的一些重要状态。
那么.. 出了什么问题,我怎样才能获得历史记录或至少再次找出标签名称并检查这些版本?
事实证明这很容易。
在 Visual Studio 2010 中,转到“工具”->“选项”。在那里您可以找到显示“已删除”项目的选项(大约在对话框的中间)。旧文件夹在移动过程中被删除 - 激活该选项后它将再次显示。(它们会带有一个灰色的红十字。)
不过,标签似乎已经消失了,所以我不得不按版本进行。
在 Source Explorer 中,您可以再次进行正常操作 - 例如查看历史记录或获取。
免责声明:对于来到这里的每个人的参考,这个答案并没有解决@Andreas 问题,只是提供了一些关于为什么会发生这种情况的上下文并提供了一些解决方法。
似乎在 TFS 2010 中移动文件夹时丢失历史记录不是错误,而是“功能”。(仍在 TFS2012 中发生。从此 MSDN链接您可以阅读Microsoft 官方答案:
感谢您在这里的反馈。先前关于这是设计使然的评论是正确的,并且在命令行上有一个选项。在 UI 中,文件夹的历史是递归的 - 总是。这是因为大多数时候,用户关心文件夹内容的历史。另一方面,文件没有递归历史的概念——你总是看到文件本身的历史。现在,从命令行,有一个显示递归历史记录 (/r) 的选项,如果您在没有递归选项的文件夹上运行 tf history,您将看到文件夹本身的更改。这将包括更改,例如文件夹本身的重命名。
文件夹历史记录确实丢失了,但单个文件历史记录实际上并没有丢失。它隐藏在文件历史记录行最左侧的小“展开我”箭头下。在文件最旧的历史记录条目上展开它,或在您看到它的任何地方展开,您还将从不再存在的旧位置看到该单个文件的历史记录。