您可以利用 Visual SourceSafe 和 Team Foundation 源代码管理 完成下列同样的基本任务:同时开发产品的多个版本,在不影响其他版本的情况下对产品的一个已发布版本进行更改,快速检索一批相关文件,确定做出更改的用户和时间,比较文件的版本以及将更改从一个版本移至其他版本。

Team Foundation 源代码管理 客户端界面旨在使 Visual SourceSafe 用户所熟悉。这两种产品都提供了命令行客户端和 Visual Studio 2005 集成。Team Foundation 源代码管理 没有单独的用户界面,这一点与 Visual SourceSafe 相同。

尽管它们具有许多相似之处,但 Team Foundation 和 Visual SourceSafe 基本上是不同的。本主题分两个主要部分来详细描述这些不同之处:

结构区别部分描述了 Team Foundation 和 Visual SourceSafe 之间在技术和操作上的区别。

功能区别部分列出了只存在于一种产品中的功能,描述了细微的功能更改,按产品标识了不同的默认设置,并解释了这些更改对您的团队使用 Team Foundation 更有效地进行开发有哪些帮助。

结构区别

Visual SourceSafe 是仅包含客户端的源代码管理系统。它的客户端(如 SourceSafe Explorer 和用于 Visual Studio 的插件)读写 Visual SourceSafe 数据库,该数据库是通常存储在共享网络文件夹中的文件集合。

Team Foundation 是客户端-服务器源代码管理系统,它使用 .NET Web 服务访问存储在 SQL Server 数据库中的项。Team Foundation 源代码管理的体系结构提高了性能和可靠性。

安全和项目权限

在 Visual SourceSafe 管理器程序中设置的 Visual SourceSafe 用户权限和分配与对 Visual SourceSafe 数据库文件夹的 Windows 共享权限无关。您可以为特定的 Visual SourceSafe 项目或个别 Visual SourceSafe 用户设置权限和分配,但必须向所有 Visual SourceSafe 用户授予对 Visual SourceSafe 数据库文件夹的相同权限。因此,对于所有 Visual SourceSafe 用户,无论使用 Visual SourceSafe 管理器程序指定的其项目级别权限如何,他们都可以访问这些共享文件夹并对所有 Visual SourceSafe 数据具有完全控制权。

在 Team Foundation 中,用户特定的操作权限和项目级别访问权限受 Windows 用户帐户的限制。由 Internet Information Server 安全地执行用户身份验证。单独访问 SQL Server 数据库的权限无需赋予执行源代码管理操作的个别用户。因此,这样产生的 Team Foundation 安全结构安全、可靠并易于管理。

可靠性

由于 Visual SourceSafe 没有服务器组件,因此涉及将数据从客户端传输到数据库的操作是非事务性的。这意味着如果发生问题,操作就无法回滚。在极少数情况下,在写入操作期间确实发生像网络连接断开这样的问题,此时可能会破坏受影响文件的完整性并丢失信息。

Team Foundation 是客户端-服务器应用程序,该应用程序利用不会受到网络连接问题影响的存储过程在数据库中执行写入操作。此外,还使用事务执行某些操作,以便在这些操作出错时可以回滚。这种体系结构确保了您的源文件不会无意中遭到破坏。它还确保了包含相关更改的文件组可以作为可能测试良好的变更集同时全部提交给源代码管理服务器。

可伸缩性

Team Foundation 最多可支持 2000 名用户的团队,而 Visual SourceSafe 建议的团队人数是二十或更少。Team Foundation 服务器包含的数据量可达到 SQL Server 数据库允许(千兆字节)且您的硬件可支持的最大数据量,而 Visual SourceSafe 数据库建议的大小限制是 4 GB。

功能差异

变更集

从概念上来说,Visual SourceSafe 数据库和 Team Foundation 源代码管理服务器的内部结构类似。这些数据库和服务器都按分层的形式进行组织。文件夹包含文件,而文件包含由编号和创建日期/时间标识的版本。

Team Foundation 引入了一个 Visual SourceSafe 中没有的概念:变更集。变更集是 Team Foundation 存储与单个签入操作相关的下列所有内容的逻辑容器:文件和文件夹修订、指向相关工作项的链接、签入说明、签入注释以及提交更改的用户等其他信息。有关更多信息,请参见 使用源代码管理变更集。

共享和固定

Team Foundation 没有与 Visual SourceSafe 的共享或固定功能等效的命令。

在将 Visual SourceSafe 项目迁移到 Team Foundation 时,用标签替换 Visual SourceSafe 数据库中的插针。

Team Foundation 中存储历史记录的方式的不同之处

Visual SourceSafe 和 Team Foundation 以不同的方式存储下列操作的历史记录。

  • 添加和创建   在 Visual SourceSafe 中,添加一个文件或文件夹时,会创建该文件及其父级的一个版本。在该父级历史记录中,该操作被记录为“添加”;而在该文件历史记录中,该操作被记录为“创建”。在 Team Foundation 中,添加一个文件或文件夹时,将只用“添加”操作创建该文件或文件夹自身的一个版本。不为此操作创建父级版本。

  • 重命名、删除和撤消删除   在 Visual SourceSafe 中,这些操作会创建父级的新版本;而在 Team Foundation 中,这些操作创建该项自身的一个新版本。

  • 移动   在 Visual SourceSafe 中,在移动某一文件夹时,将同时创建源和目标父文件夹的新版本,并对每个父级记录将该文件夹移入或移出父级的操作。不为文件夹 F 创建版本。例如,如果将文件夹 F 从源文件夹 S 移至目标文件夹 D,则对“将 $F 移出 S”操作创建 D 的新版本,并对“已将 $F 移入 D”操作创建 S 的新版本。在 Team Foundation 中,“重命名”操作只创建 F 的新版本。

签入和签出的区别

在 Visual SourceSafe 中,只有在编辑文件时才需要执行显式签出和签入操作。在 Team Foundation 中,每个操作都需要执行显式签出和签入操作。

Team Foundation 中工作方式不同的功能

与 Visual SourceSafe 不同,Team Foundation 在您签出文件时不执行静态 Get 操作。

在 Team Foundation 中,多个用户可以同时对同一项进行签出和更改。在 Visual SourceSafe 中,默认情况下以独占方式执行签出。但您可以在 Team Foundation 中锁定某一文件,以防止其他用户签出该文件或签入更改。有关更多信息,请参见 了解锁定类型。

分支和合并   由于 Visual SourceSafe 并不存储文件或文件夹的两个分支之间的合并历史记录,因此 Visual SourceSafe 只支持非常基本的分支和合并功能。但 Team Foundation 源代码管理 确实支持合并历史记录。在 Visual SourceSafe 中,由于没有合并历史记录,进行的合并最终是无依据的。

签出操作不对正在签出的文件执行 Get Latest 操作

当您执行 Get 操作以用一组文件填充工作区时,将从源代码管理创建一个一致的快照。通常,系统上源代码的配置表示 Team Foundation 源代码管理 服务器中已知一起运行的文件的时间点快照,因此能够进行生成和测试。

作为在工作区中执行操作的开发人员,您将被隔离,不受其他开发人员所做更改的影响。您可以根据需要执行 Get 操作,以控制何时接受来自其他开发人员的更改。理论上说,当您这么做时,将更新源代码的整个配置,而不仅仅是一两个文件。其原因是一个文件的更改通常取决于其他文件的相应更改,因此您必须确保您仍具有一个能够进行生成和测试的一致的源代码快照。

这就是签出操作不对正在签出的文件执行 Get Latest 操作的原因所在。更新正在签出的那个文件将违反一致的快照逻辑,因此可能会导致无法生成或测试源代码配置。作为一种备选方法,Team Foundation 会强制您在签入更改之前的某一时间点执行 Get Latest 操作,以便在您尝试签入更改且没有最新副本的情况下,用解决冲突对话框向您提示。

Visual SourceSafe 中不存在的 Team Foundation 功能

  • 工作区

  • 变更集

  • 搁置集

  • Team Foundation 工作项

  • 签入策略

  • 签入说明

  • 通过 设置警报 执行的电子邮件通知

Team Foundation 中不存在的 Visual SourceSafe 功能

  • 共享

  • 固定

  • 存档和还原

  • 销毁

  • 关键字扩展

  • 回滚

转载于:https://www.cnblogs.com/guodapeng/archive/2007/11/20/965008.html

Team Foundation 和 Visual SourceSafe 之间的区别相关推荐

  1. Team Foundation Server Beta3 安装指南

    Team Foundation Server Beta3 安装指南 发布日期: 11/11/2005 | 更新日期: 12/15/2005 本页内容 1.概述 2.安装的安全 3.单服务器的安装过程 ...

  2. 让Visual Studio 2005 Team Foundation Server支持Wss3

    公司的TFS2005开发了若干基于moss2007的产品.由于TFS2005是基于Wss2.0的,导致在使用builder时有些项目编译不过,可能是需要调用Wss3.0的东西吧.而一些第三方的插件都是 ...

  3. Visual Studio 和 Team Foundation Server 产品维护及周期策略

    1 适用于 Visual Studio 和 Team Foundation Server 2012 - 2017 这些产品遵循 Microsoft 10 年支持生命周期策略(5 年主流支持和 5 年扩 ...

  4. 好东西,将你的英文版TFS变为中文版?:Visual Studio 2005 Team Foundation Server 语言更改包...

    Visual Studio 2005 Team Foundation Server 语言更改包 快速描述 该语言更改包为国际客户提供了必要的说明和工具,以便他们将现有的 Visual Studio 2 ...

  5. 单服务器配置部署Visual Studio 2005 Team Foundation Server步骤

    最近我所带的开发部部门要采用TFS管理,另外TFS也是在微软的MSF组队模型中非常重要的: Microsoft 解决方案框架 (MSF) 组队模型描述了微软如何通过构建人员以及人员的行为来实现项目成功 ...

  6. 微软Team Foundation Service 的Scrum模板中的Feature和Backlog Items 的区别【转载】

    Features help us plan work better in Team Foundation Service Scrum process [原文:http://www.nsilverbul ...

  7. Team Foundation 中的带编号的错误和事件消息

    Team Foundation 中的带编号的错误和事件消息 Team Foundation 通过显示错误消息和事件消息来通知您操作成功以及操作失败.一部分错误消息和事件消息已经指定了格式为 TFnnn ...

  8. Visual Studio Code和Visual Studio有什么区别?

    本文翻译自:What are the differences between Visual Studio Code and Visual Studio? 微软最近发布了Visual Studio Co ...

  9. TFS(Team Foundation Server)介绍和入门

    在本文的两个部分中,我将介绍Team Foundation Server的一些核心特征,重点介绍在本产品的日常应用中是如何将这些特性结合在一起使用的. 作为一名软件开发人员,在我的职业生涯中,我经常会 ...

最新文章

  1. awk 系列:awk 怎么读取标准输入(STDIN)
  2. AI算法透明不是必须,黑箱和可解释性可简化为优化问题
  3. php ajax jquery 表单重复提交,jQuery的 $.ajax防止重复提交的两种方法(推荐)
  4. xcode快速开发 代码块
  5. (Easy) FizzBuzz LeetCode
  6. 4.4 逻辑运算的实现
  7. Qt消息机制和事件概述(一)
  8. url.getinputsteam 获取不完整_年度营销方案合集,活动策划,规划推广,全内容完整套用告别加班...
  9. __FILE__, __LINE__, __FUNCTION__
  10. 1022. Genealogical Tree(topo)
  11. STM32F103 实现 简易闹钟小程序
  12. Petsc求解非线性方程,SNES对象的介绍-1
  13. logging模块详细使用
  14. 【Tableau server 日常运维19】Linux版本Tableau Server视图出现如下图乱码解决方案
  15. 职场中最重要的情商,是管理情绪
  16. JVM内存分析工具大全
  17. python 以图搜图
  18. 自主学习(active learning)
  19. HbuilderX 热更新报wgt/wgtu文件异常处理记录
  20. 95epay支付通道种类:3D通道,实时非3D通道,高级延时非3D通道,高级实

热门文章

  1. 大数据之-Hadoop本地模式_执行Grep官方案例---大数据之hadoop工作笔记0021
  2. SVN工作笔记004---svn查看log提示_offline
  3. opencv3.1.0 编译H3516A 成功后调用时出现的问题
  4. C++查看数据存储大小端模式
  5. 码云、coding拉取项目代码
  6. 如何查看mysql默认字符集_如何找出MySQL中的默认服务器字符集?
  7. python常胜将军问题_Python中最常见的10个问题(列表)
  8. java applet 事件_applet中的普通事件被按钮事件劫走!!!!!在线等。。。。。...
  9. python 系统当前时间向前推2天_当前日期往前推N天,当前日期往后推N天
  10. 可自定义匹配规则查找控件_懂Excel轻松入门Python数据分析包pandas(二十八):二分法查找...