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