Я пытаюсь понять, как TFS 2008 (и 2010, если он отличается) хранит и сообщает подробности набора изменений в наборе изменений.
Теперь, когда я фиксирую размещенный в Subversion проект, клиент отправляет diff-файлы на сервер. Поэтому, если я добавил файл и изменил несколько строк в другой, он отправляет что-то вроде «Добавлен файл A.txt, поместите 2 строки« A »,« B »в B.txt». Это означает, что я могу отменить ревизию, так как различия хорошо обратимы - «Удалите файл A.txt и извлеките две строки из B.txt». Уверен, что и с git то же самое.
У меня такое ощущение, что TFS не хранит наборы изменений таким образом (основываясь на слухах и том факте, что я не могу легко откатить ревизии и т. Д.).
То, что я считаю, происходит так:
Если я изменил файлы A, B и C в наборе изменений, то в действительности он будет храниться в новой копии файлов A, B, C. Не только в diff.
Я прав в этом предположении? Как коммерческое программное обеспечение, я вполне мог поверить, что эта информация недоступна, но я подумал, что буду спрашивать, поскольку поиск в Google ничего не дает!
Как следствие: где хранятся наборы изменений TFS? Я знаю, что SQL-сервер используется для некоторых хранилищ ... тоже чангсеты?
В настоящее время мы используем TFS 2008, но было бы также полезно узнать ответ на 2010 год, так как я думаю, что есть планы по обновлению.