3

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

我现在如何确定使用了哪个基本版本的搁置集?不幸的是,“详细信息”中没有关于此的信息 - 搁置信息。

4

2 回答 2

6

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

但是,unshelve 不会针对最新版本挂起新的更改 - 它会检查搁置的版本。想象一下这个场景:

$/A在版本 5 上挂起更改。您创建一个搁置集foo并撤消本地挂起的更改。

另一个用户签入新版本的$/A. 你得到最新的,现在你$/A的更新到版本 6。

如果您随后 unshelve foo,由于搁置的待处理更改是版本 5,您现在将在版本 5 有待处理更改。如果您获得最新版本,您将遇到版本冲突,并且能够解决冲突以带来您的待处理更改最高版本 6。

于 2012-02-01T15:19:35.827 回答
0

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

这实际上是有道理的,因为 Shelveset 可能包含来自多个分支、文件夹甚至团队项目的项目——因此变更集和变更集之间并不总是存在“一对一”的关系。

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

于 2012-02-01T15:26:07.560 回答