TFS 2008/TFS 2010 如何以及在哪里存储变更集? [英] How and where does TFS 2008 / TFS 2010 store changesets?

查看:27
本文介绍了TFS 2008/TFS 2010 如何以及在哪里存储变更集?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图了解 TFS 2008(和 2010,如果不同的话)如何存储和传达变更集中的一组更改的详细信息.

I am attempting to understand how TFS 2008 (and 2010 if it's different) store and communicate details of a set of changes in a changeset.

现在,当我提交到 Subversion 托管项目时,客户端会将差异发送到服务器.因此,如果我添加了一个文件并在另一个文件中更改了几行,它会发送类似 "Added file A.txt, put 2 lines "A" "B" into B.txt" 的内容.这意味着我可以撤消修订版本,因为差异可以很好地可逆 - 删除文件 A.txt 并从 B.txt 中取出两行".很确定它与 git 也是一样的.

Now when I commit to a Subversion hosted project, the client sends diffs to the server. So if I have added a file and changed a few lines in another it sends something like "Added file A.txt, put 2 lines "A" "B" into B.txt" . This means I can back out a revision as diffs are nicely reversible - "Delete file A.txt and take out two lines from B.txt". Pretty sure it is the same with git too.

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

I have a feeling that TFS does not store changesets in this way (based on rumour and the fact that I cannot easily roll back revisions etc.).

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

What I believe occurs is this: If I changed files A, B and C within a changeset, what is actually stored in the changeset is a whole new copy of files A, B, C. Not just the diffs.

我的这个假设正确吗?作为商业软件,我很可能相信这些信息不可用,但我想我会问,因为谷歌搜索没有任何结果!

Am I correct in this assumption? As commercial software, I could well believe this information is not available but I thought I would ask as googling produced nothing!

作为一个推论:TFS 变更集存储在哪里?我知道 SQL Server 用于某些存储...更改集也是吗?

As a corollary: Where are TFS changesets stored? I know that SQL server is used for some storage... changsets too?

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

We are currently using TFS 2008 but it would also be useful to know the answer for 2010 as I think there are plans to upgrade.

推荐答案

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

TFS stores all changeset data in a SQL Server database. It stores the code from the most recent changeset in its entirety. It then stores a diff to the previous version. One of the benefits of storing it all in SQL Server is that it gains the "all or none" saving capability that is provided by transactions.

至于存储在何处,您可以查看此博客条目 http://blogs.msdn.com/b/bharry/archive/2009/04/19/team-foundation-server-2010-key-concepts.aspx

As for WHERE it's stored, you can check out this blog entry http://blogs.msdn.com/b/bharry/archive/2009/04/19/team-foundation-server-2010-key-concepts.aspx

这篇关于TFS 2008/TFS 2010 如何以及在哪里存储变更集?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆