如何在TFS中取消搁置旧Shelveset时获得正确的版本



我只是想取消搁置几天前添加的搁置集。同时,其他人已成功签入搁置集中包含的文件的新版本。由于我的文件中最新版本和搁置集之间存在冲突(因为它有另一个基本变更集),我想将我的代码库还原为搁置集使用的特定版本。

我现在如何确定使用了搁置集的哪个基本版本?不幸的是,在"详细信息"-搁置集的信息中没有这方面的信息。

您可以在搁置集详细信息对话框中查看搁置更改的版本-如果右键单击文件,您可以选择"属性",它将显示搁置的版本和最新版本。

但是,取消搁置不会挂起针对最新版本的新更改,而是针对搁置的版本进行签出。想象一下这个场景:

您在版本5中挂起针对$/A的更改。您可以创建搁置集foo并撤消本地挂起的更改。

另一个用户签入新版本的$/A。您获得了最新版本,现在您的$/A已更新到版本6。

如果您当时取消搁置foo,由于搁置的挂起更改是版本5,您现在将在版本5中有一个挂起的更改。如果您获得了最新版本,则会出现版本冲突,并且能够解决冲突,将挂起的更改升级到版本6。

我认为这是不可能的
即使您使用TFS-SDK使用VersionControlServer.QueryShelvesets获得Shelveset,也没有任何方向

这实际上是有道理的,因为Shelveset可能包含来自多个分支、文件夹甚至团队项目的项目,所以变更集与;变更集。

在你的位置,我只需在评论中添加信息(手动:丑陋,但它会起作用)

相关内容

  • 没有找到相关文章

最新更新