获取旧版本树的特定版本(@Lel)

问题描述:

我在TFS2008中遇到了一些问题,需要获取旧树路径(移动,重命名等)的特定标签版本。获取旧版本树的特定版本(@Lel)

我的问题是:

我改名和移动的树版本的文件和文件夹的一些部分,现在我不能够从一个特定的标签得到特定的版本。此标签已应用于旧的树形路径,并且当我获得特定版本(选中覆盖选项)时,会在最新一列中显示“未下载”,并且我无法处理旧基线(标记为文件和文件夹)。 有一种方法可以在自定义目标路径中获取特定版本? TFPT对此有帮助吗?

谢谢!

解决方法是在项目根目录上获取特定的版本标签,因此建议使用旧的树版本路径。

Nicola Celiento:当我看到您的问题和答案时,我即将发布此问题作为新问题,这些问题和答案也适用于我。

我有一个名为$/MyProject/Dev/OldName的分支,它在2015年5月重新命名为$/MyProject/Dev/NewName。我现在想要在2014年4月之前获得此分支的所有文件分支重命名),但我无法解决如何做到这一点。到目前为止,我已经尝试过:

创建映射到$/MyProject/Dev/NewName的新工作区。在$/MyProject/Dev/NewName上获取特定版本,从2014年4月起设置Type to Date,设置Overwrite writeable files和Overwrite all files。这会导致消息:“所有文件都是最新的,因为之前已下载了所请求的文件版本,所以没有更新文件。要强制更新,请使用”获取特定版本“命令和”全部覆盖...“选项检查“。这个消息很奇怪,因为它告诉我要做我正在做的事情来获取消息!在源代码管理资源管理器中,所有文件的状态都是”未下载“

从命令行中,新的分支名称(不工作 - 工作区中没有文件):

C:\ Workspace> tf get $/MyProject/Dev/NewName/version:D“2014-04-08 21:00:00”/覆盖/强制/递归 所有文件都是最新的。

从命令行获得使用旧分支名称(也不起作用 - 工作区中没有文件):

C:\ Workspace> tf get $/MyProject/Dev/OldName/version:D“ 2014-04-08 21:00:00“/ overwrite/force/recursive $/MyProject/Dev/OldName不存在适当的映射。

改变了我的工作区映射到旧分支$/MyProject的/开发/ OLDNAME,然后重复前面的get(也不起作用 - 在工作区中的任何文件):

C:\工作区> TF得到$/MyProject的/开发/ OLDNAME /版本:d “2014年4月8日21:00:00”/覆盖/强制/递归 C:\项目: 获取OLDNAME

对单个文件使用浏览历史,我可以看到2014年4月确实存在的文件,我也可以看到他们的内容,但我不能在那天获得它们(但是在分支重命名后我可以得到它们)。

根据Nicola Celiento的回答,我的解决方案是在根$/MyProject/Dev项目上获取特定版本。这得到了$/MyProject/Dev下的所有分支,包括我想要的旧$/MyProject/Dev/OldName。