Как да получите правилната версия при премахване на по-стари Shelvesets в TFS?

Просто исках да извадя рафтовете, които бяха добавени преди няколко дни. Междувременно някой друг успешно е проверил новите версии на файлове, съдържащи се в shelveset. Тъй като съществува конфликт в моите файлове между най-новата версия и shelveset (тъй като има друг базов набор от промени), искам да върна кодовата си база към тази конкретна версия, използвана от shelveset.

Как мога сега да определя коя основна версия на shelveset е била използвана? За съжаление няма информация за това в "Детайли" - Информация на shelveset.


person ElGaucho    schedule 01.02.2012    source източник


Отговори (2)


Можете да видите версията на отложената промяна в диалоговия прозорец с подробности за shelveset - ако щракнете с десния бутон върху файл, можете да изберете „Свойства“, което ще ви покаже отложената версия и най-новата версия.

Unshelve обаче няма да чака нови промени спрямо най-новата версия - вместо това ще проверява спрямо отложената версия. Представете си този сценарий:

Изчаквате промяна срещу $/A във версия 5. Създавате shelveset foo и отменяте вашите локални чакащи промени.

Друг потребител проверява нова версия на $/A. Получавате най-новото и сега вашето $/A е актуализирано до версия 6.

Ако трябваше след това да премахнете foo, тъй като отложената чакаща промяна беше версия 5, сега ще имате чакаща промяна във версия 5. Ако получите най-новата, ще имате конфликт на версията и ще можете да разрешите конфликта, за да върнете чакащата си промени до версия 6.

person Edward Thomson    schedule 01.02.2012

Не мисля, че това е възможно.
Дори и да получите с TFS-SDK Shelveset, използвайки VersionControlServer.QueryShelvesets, няма нищо в тази посока.

Това всъщност има смисъл, тъй като Shelveset може да съдържа елементи от множество клонове , папки, дори екипни проекти - така че не винаги има връзка "едно към едно" между набор от промени и набор от промени.

На твое място просто бих добавил информацията в коментара (на ръка: грозно, но ще свърши работа)

person pantelif    schedule 01.02.2012