Безопасное удаление проекта ветки TFS
В настоящее время я реорганизую наш источник источника TFS для очень большого набора решений, и я сделал это успешно до сих пор.
У меня есть проблема в тот момент, когда мне нужно удалить устаревший проект TFS "Release Branch", который был разветвлен для старой структуры и больше не нужен, поскольку теперь я размещаю ветвь релиза в новой структуре.
Это пример того, как теперь контролирует исходный элемент после перемещения всего:
$/Source Project
/Trunk
/[Projects]
/Release
/[Projects]
$/Release Branch Project
/[Projects]
/[Other legacy stuff]
До сих пор я нашел информацию, которая гласит:
tf delete
кажется актуальным только тогда, когда мне нужно удалить ветвь, находящуюся в том же проекте, что и магистраль, а TfsDeleteProject
не похоже, что она удалит ассоциацию ветвей из исходного проекта (надеюсь Я ошибаюсь, см. Ниже).
Может ли кто-нибудь сказать мне, будет ли вышеописанное, и в каком порядке я должен выполнить их, чтобы успешно удалить TFS $/Release Branch Project
, а также удалив ассоциацию ветвей (щелкните правой кнопкой мыши $/Source Project
→ Свойства → Ветви)?
Ответы
Ответ 1
В TFS вы вообще не можете навсегда удалить что-либо внутри командного проекта (и TfsDeleteProject
удаляет полный командный проект, но неясно, будет ли исходный контент управления удаляться, поскольку командный проект - это только верхний уровень дерево управления версиями).
Удаление файла или всего набора файлов - это еще одно отслеживаемое изменение, возвращение в историю и его все еще можно увидеть.
Вы можете использовать разрешения, чтобы сделать его недоступным для всех. Или переименуйте команду команды "Устаревший".
EDIT (я, наконец, вспомнил, где была эта команда):
В командной строке есть еще одна опция: tf destroy
:
Уничтожает или навсегда удаляет файлы с контролем версий из контроля версии Team Foundation.
Я бы ожидал, что это приведет к удалению записей ветвей для создания файлов, которые теперь были уничтожены, но вам может потребоваться проверить.
Ответ 2
Позвольте мне привести следующие факты:
- В контексте системы управления источниками TFS "Удалить" является чисто логической операцией. Вы можете Undelete в любое время. Вы можете иметь несколько удаленных элементов, занимающих один и тот же путь со временем или даже одновременно. Связи ветвей сохраняются.
- TFS "Уничтожить" - физическое удаление. Чтобы сохранить целостность базы данных, это означает, что все сущности-отношения также удалены: история изменений, ожидающие записи изменений, версии с отложенным доступом, история слияния и да - иерархия ветвей. Эта функция Destroy была представлена в TFS 2008.
- Уничтожение - единственная операция, разрешенная для изменения таблицы истории слияния (из которой определяются отношения ветвей). Все остальные операции строго добавляются только.
- TfsDeleteProject делает все возможное, чтобы полностью удалить все следы проекта, основной целью которого является создание совершенно нового проекта с тем же именем. Некоторые подсистемы TFS поддерживают физические удаления; некоторые, такие как метаданные полей WIT, поддерживают только логические удаления, даже в TFS 2008 и последующих. В случае контроля источника TfsDeleteProject вызывает "удалить" в 2005 году и "уничтожить" в 2008 году.
Ответ 3
Выберите папку ветки, которую вы хотите развернуть. тогда
File > Source Control > Branching and Merging > Convert to Folder
.
Ответ 4
В VS2013
я не смог найти его под ответом @Radhika
Я нашел его под Team Explorer > Source Control Explorer > right mouse on project > Branching and Merging > Convert to folder
![enter image description here]()
Надеюсь, это экономит ваше время.