Как удалить определенный набор изменений в TFS 2010?

Как удалить определенный набор изменений в tfs2010?

У меня есть номера версий changeset с 545, 544, 543,542.

теперь я хочу удалить конкретный набор изменений 543 только в tfs?

3 ответов


вы должны откат набор изменений, вы не можете удалить набор изменений. (Команду Rollback)

в вашем случае простая команда отката будет выглядеть так:

TF rollback /changeset:C543

вы не можете удалить набор изменений в TFS. Даже если вы могли бы как-то (я думаю, вы можете запустить sql-запрос против базы данных TFS для этого), это не очень хорошая практика. Если люди начнут удалять наборы изменений / историю, вся цель контроля версий будет побеждена. Я думаю, что немногие другие элементы управления версиями позволяют это, но я бы не предложил этого делать. Это плохая практика.

кроме того, если вы используете другие функции TFS, такие как Workitems/Test Cases etc. наборы изменений связываются с ним, поэтому, если они удаляются ссылки станут сиротами (я думаю).

Как сказал Арин, самое близкое, что вы можете сделать, это использовать команду отката, но когда вы это сделаете, вам придется проверить код после отката, поэтому в основном вы увидите старый набор изменений и новый(откат) в истории.


отказ от ответственности-вы никогда, никогда не должны этого делать. Даже не думай об этом!

Background-я пытаюсь сделать частичную миграцию TFS и иметь самое злодейское время с помощью инструмента "интеграция TFS". Недавно он сбросил серию неправильных наборов изменений в мой TFS назначения. Вместо того, чтобы стирать все и начинать с нуля, я обнюхал базу данных TFS и придумал следующее (на TFS 2013, TFS 2010 был бы более или менее похож на I предположим):

declare @ChangeSetId int = 5735

-- Delete the actual file content first
delete from tbl_Content where ResourceId in (select ResourceId from tbl_File where FileId in (select FileId from  tbl_Version where VersionFrom = @ChangeSetId))
-- Remove the file
delete from tbl_File where FileId in (select FileId from  tbl_Version where VersionFrom = @ChangeSetId)
-- Purge the version
delete from tbl_Version where VersionFrom = @ChangeSetId
-- Destroy the changeset
delete from tbl_ChangeSet where ChangeSetId = @ChangeSetId

это неразумно делать. Он не поддерживается корпорацией Майкрософт. Не используйте его на живой производственной среде! Вместо этого используйте откат! Но если вы отчаянно хотите уничтожить набор изменений, вы можете попробовать это. Только не говори, что тебя не предупредили.