1

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

我遇到的问题如下:

我重命名并移动了部分树版本文件和文件夹,现在我无法从特定标签获取特定版本。此标签应用于旧树路径,当我获得特定版本(选中覆盖选项)时,最新列上显示“未下载”,我无法处理旧基线(标记的文件和文件夹)。有没有办法在自定义目标路径中获取特定版本?TFPT 有帮助吗?

谢谢!

4

2 回答 2

1

解决方法是在项目根目录下获取特定的版本标签,所以建议使用老树版本路径。

于 2011-02-14T09:44:42.493 回答
0

Nicola Celento:当我看到您的问题和答案时,我正要将此作为新问题发布,这也对我有用。

我有一个名为 $/MyProject/Dev/OldName 的分支,它在 2015 年 5 月重命名为 $/MyProject/Dev/NewName。我现在想获取该分支截至 2014 年 4 月的所有文件(在分支重命名之前),但我不知道该怎么做。到目前为止,我已经尝试过:

创建映射到 $/MyProject/Dev/NewName 的新工作区。在 $/MyProject/Dev/NewName 上获取特定版本,将类型设置为截至 2014 年 4 月的日期,设置覆盖可写文件和覆盖所有文件。这将导致消息:“所有文件都是最新的。没有文件被更新,因为之前下载了请求的文件版本。要强制更新,请使用带有“覆盖所有...”选项的“获取特定版本”命令已检查。”这条消息很奇怪,因为它告诉我要完全按照我所做的来获取消息!在源代码管理资源管理器中,所有文件的状态都是未下载。

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

C:\Workspace>tf get $/MyProject/Dev/NewName /version:D"2014-04-08 21:00:00" /overwrite /force /recursive 所有文件都是最新的。

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

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

将我的工作区更改为映射到旧分支 $/MyProject/Dev/OldName,然后重复之前的获取(也不起作用 - 工作区中没有文件):

C:\Workspace>tf get $/MyProject/Dev/OldName /version:D"2014-04-08 21:00:00" /overwrite /force /recursive C:\Projects: Getting OldName

在单个文件上使用查看历史记录,我可以看到这些文件肯定存在于 2014 年 4 月,我还可以看到它们的内容,我只是无法在那个日期获得它们(但我可以在分支重命名后让它们正常)。

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

于 2015-07-08T10:40:03.803 回答