TFS 2010:移动文件夹后丢失历史记录

时间:2012-12-24 12:49:34

标签: tfs tfs2010 label history

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

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

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

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

4 个答案:

答案 0 :(得分:18)

事实证明这很容易。

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

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

enter image description here

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

答案 1 :(得分:17)

免责声明:为了获得这里的每个人的参考,这个答案并不是解决@Andreas问题,只是给出一些关于为什么会发生这种情况的背景并提供一些解决方法。

似乎在TFS 2010中移动文件夹时丢失历史记录不是一个错误,是一个“功能”。 (仍然发生在TFS2012。从这个MSDN link,您可以阅读官方微软的回答

  

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

  • 获取历史记录的解决方法:正如您所看到的,您使用 tf历史记录进行了解决方法
  • 避免丢失历史记录的解决方法:如果您想避免丢失文件夹中的历史记录而不是使用移动功能,可以使用 TFS集成工具从一个文件夹迁移代码到其他保留历史记录,从 $ / TFSCode / FolderA 迁移到 $ / TFSCode / FolderB 。这有点矫枉过正,但如果历史对你来说非常重要,那就比在已删除的文件夹中找到它要好得多

答案 2 :(得分:13)

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

答案 3 :(得分:2)

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

History Window, editable Source Location field

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