TFS проигрывает историю при слиянии

Оба Team Foundation Server (TFS) 2005 и 2008 теряют историю (check-ins + comments) в файлах, когда они разветвляются и объединяются. Так, например, если изменения в ветке производятся, а затем объединяются обратно в корневую ветвь, ни одно из изменений, сделанных в ветки, не отображается в корневой ветке. Единственное, что видно в истории, указывает на слияние.

Кто-нибудь знает, есть ли опция, которая может быть сохранена в истории, или другой способ выполнить слияние, которое сохраняет историю?

Ответ 1

  • Вы правы, что TFS не отслеживает историю по умолчанию при слиянии. Однако есть powertool, который позволяет это сделать (см. История команды в разделе TFS Power Команды инструментов).

  • Подробнее см. этот комментарий:

"Если TFS будет поддерживать историю разветвленных файлов, а не запускать их с нуля каждый раз, когда будет выполняться ветка, то аналогичное безопасное слияние было бы возможным между ветвями"

Вы можете установить Power Tools, а затем использовать флаг /followbranches для получения информации о истории: http://msdn2.microsoft.com/en-us/vstudio/aa718351.aspx

История команды Используйте команду history, чтобы отобразить историю изменений для одного или нескольких файлов и папок. Параметр /followbranches возвращает историю предшественников ветвей файла.

Существует также проект codeplex для включения опции в графическом интерфейсе: http://www.codeplex.com/TFSBranchHistory

Ответ 3

Плагин TFS Branched History из Microsoft Gallery работает только с VS2010.

Для тех, кто использует Visual Studio 2008, вот плагин, который обеспечивает ту же функциональность.

После его установки откройте VS2008 и перейдите в окно управления источниками TFS.

  • Щелкните правой кнопкой мыши элемент, и вы увидите новую опцию в контекстном меню "Разветвленная история".
  • Нажмите на это, чтобы получить историю элемента во всех предыдущих ветвях TFS. Дайте ему несколько секунд, если вы на медленной машине.

В окне "Разветвленная история" вы также можете просматривать или сравнивать версии файлов так же, как вы можете, в обычном окне "История".