Является ли ветвь TFS физическим или логическим снимком?

Когда код разветвлен в TFS с использованием метода ветвления, является ли код физически или логически разветвленным? По логике, я имею в виду, что это просто набор изменений (измененные дельта) или все файлы скопированы?

Ответ 1

Разветвленные файлы не копируются в базу данных TFS. Новая версия файла не будет создана до тех пор, пока измененная версия не будет изменена. Вот почему создание ветки в большом проекте не выполняется навсегда.

Источник:

http://www.codeplex.com/BranchingGuidance/Wiki/View.aspx?title=Isolation%20for%20Collaboration&referringTitle=Home

Четвертый абзац под ветвлением объясняет, что он не создает отдельную копию идентичных файлов:

Создание ветвей очень мало дополнительное пространство для хранения. Сервер минимизирует объем хранения, требуемый только сохранение одной копии идентичного содержимого независимо от того, сколько разных файлов содержащихся в папке. Итак, если вы имеют 100 копий 1 МБ файла и все файлов идентичны, сервер будет хранить только 1 МБ, а не 100 МБ. когда вы создаете новую ветку и фиксируете, все файлы в новой ветке которые идентичны файлам в точка источника источника к тому же содержание. Результатом является то, что ветвь потребляет очень мало место для хранения и место для хранения расширяется только тогда, когда разветвленный файл становится иным, чем источник. А также даже когда файлы меняются, Team Foundation Server использует разностный двигатель для анализа изменений между файлами и еще раз оптимизировать место для хранения.

Руководство по ветвлению Microsoft PDF:

http://geeks.netindonesia.net/downloads/etc/TFS-Branching.pdf

Ответ 2

Короткий ответ: Филиалы хранятся логически и не являются прямой копией родителя.

Длинный ответ: Билл Хейс, VS ALM Ranger, написал подробное сообщение в блоге, описывающее, как ветки и история файлов хранятся в TFS.

http://blogs.msdn.com/b/billheys/archive/2011/05/05/how-tfs-stores-files-and-calculated-deltas-on-versioned-files.aspx