Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TFS 2008/TFS 2010如何以及在何处存储变更集?_Tfs_Changeset - Fatal编程技术网

TFS 2008/TFS 2010如何以及在何处存储变更集?

TFS 2008/TFS 2010如何以及在何处存储变更集?,tfs,changeset,Tfs,Changeset,我试图理解TFS2008(和2010,如果它不同的话)是如何存储和传达变更集中一组变更的细节的 现在,当我提交到Subversion托管的项目时,客户端将差异发送到服务器。因此,如果我添加了一个文件,并在另一个文件中更改了几行,它会发送类似“Addedfilea.txt,将两行“a”“B”放入B.txt”的内容。这意味着我可以撤销修订,因为差异是完全可逆的——“删除文件a.txt并从B.txt中删除两行”。非常确定git也是如此 我有一种感觉,TFS不会以这种方式存储变更集(基于谣言和我无法轻松

我试图理解TFS2008(和2010,如果它不同的话)是如何存储和传达变更集中一组变更的细节的

现在,当我提交到Subversion托管的项目时,客户端将差异发送到服务器。因此,如果我添加了一个文件,并在另一个文件中更改了几行,它会发送类似“Addedfilea.txt,将两行“a”“B”放入B.txt”的内容。这意味着我可以撤销修订,因为差异是完全可逆的——“删除文件a.txt并从B.txt中删除两行”。非常确定git也是如此

我有一种感觉,TFS不会以这种方式存储变更集(基于谣言和我无法轻松回滚修订等事实)

我相信发生的是: 如果我在变更集中更改了文件A、B和C,那么变更集中实际存储的是文件A、B、C的全新副本,而不仅仅是差异

我的假设正确吗?作为商业软件,我完全可以相信这些信息是不可用的,但我想我会问,因为谷歌没有提供任何信息

作为推论:TFS变更集存储在哪里?我知道SQL server用于某些存储。。。我也是吗


我们目前正在使用TFS 2008,但了解2010年的答案也很有用,因为我认为有升级计划。

TFS将所有变更集数据存储在SQL Server数据库中。它完整地存储来自最新变更集的代码。然后,它存储与以前版本的差异。将其全部存储在SQL Server中的好处之一是,它获得了事务提供的“全部或无”保存功能


至于它的存储位置,你可以查看这个博客条目

,这很酷。这个问题不是我问的那样!