我只是想取消搁置几天前添加的搁置集。同时,其他人已成功签入搁置集中包含的文件的新版本。由于我的文件中最新版本和搁置集之间存在冲突(因为它有另一个基本变更集),我想将我的代码库还原为搁置集使用的特定版本。
我现在如何确定使用了搁置集的哪个基本版本?不幸的是,在"详细信息"-搁置集的信息中没有这方面的信息。
您可以在搁置集详细信息对话框中查看搁置更改的版本-如果右键单击文件,您可以选择"属性",它将显示搁置的版本和最新版本。
但是,取消搁置不会挂起针对最新版本的新更改,而是针对搁置的版本进行签出。想象一下这个场景:
您在版本5中挂起针对$/A
的更改。您可以创建搁置集foo
并撤消本地挂起的更改。
另一个用户签入新版本的$/A
。您获得了最新版本,现在您的$/A
已更新到版本6。
如果您当时取消搁置foo
,由于搁置的挂起更改是版本5,您现在将在版本5中有一个挂起的更改。如果您获得了最新版本,则会出现版本冲突,并且能够解决冲突,将挂起的更改升级到版本6。
我认为这是不可能的
即使您使用TFS-SDK使用VersionControlServer.QueryShelvesets
获得Shelveset
,也没有任何方向
这实际上是有道理的,因为Shelveset可能包含来自多个分支、文件夹甚至团队项目的项目,所以变更集与;变更集。
在你的位置,我只需在评论中添加信息(手动:丑陋,但它会起作用)