Как и где TFS 2008 / TFS 2010 хранит наборы изменений? - PullRequest
6 голосов
/ 04 июля 2011

Я пытаюсь понять, как 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 год, так как я думаю, что есть планы по обновлению.

1 Ответ

11 голосов
/ 04 июля 2011

TFS хранит все данные наборов изменений в базе данных SQL Server. Он хранит код из самого последнего набора изменений во всей своей полноте. Затем он сохраняет различия в предыдущей версии. Одним из преимуществ хранения всего этого в SQL Server является то, что он получает возможность сохранения «все или ничего», предоставляемую транзакциями.

Что касается ГДЕ, где он хранится, вы можете проверить эту запись в блоге http://blogs.msdn.com/b/bharry/archive/2009/04/19/team-foundation-server-2010-key-concepts.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...