Подтвердить что ты не робот

Безопасное удаление проекта ветки 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 → Свойства → Ветви)?

4b9b3361

Ответ 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

Надеюсь, это экономит ваше время.