附录ASVN使用简介.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
附 录A SVN使用简介 版本控制的概念最早源于软件工程学,是开发软件项目必不可少的环节。早期版本控制通常是由开发人员人工完成的。不过,随着项目规模的扩大,这种安全性低而复杂程度高的方式根本无法满足实际的需求。因此,借助计算机进行版本制的想法也就顺理成章了。在实际工作中,版本控制工具的基本功能如下: 1、资源集中化管理。项目的文档、源代码都集中存放在服务器上,经系统管理员授权给各个用户访问。通常,根据被授予的权限,项目成员可以通过版本控制软件的客户端check in和check out方式访问服务器上的资源。 2、版本升级管理。每次向服务器提交更新文件时,服务器都会将原始版本保留,而不是简单地覆盖,以便于历史版本的追溯。 3、加锁管理。文件更新冲突一直是人工管理方式无法解决的难题,但对于计算机管理方式而言,加锁管理机制就大大缓解了更新冲突的问题。在某个用户更新文件时,可以通过为该文件加锁,以保证在更新提交之前,其他用户无法修改该文件。 4、版本间比较。在软件项目开发中,开发人员经常会对不同时期修改的源程序进行横向比较,以便掌握各版本的主要修改点,对于分析、排查bug也是非常有效的。 目前,比较著名的版本控制软件有Visual SourceSafe(简称VSS)、CVS、RCS、SCCS、Hansky Firefly、Clear Case、PVCS、SVN等。其中,VSS可能是最为人所熟知的,作为Visual Studio套件的一个组成部分,其最初的设计目标就是与Visual Studio工具实现真正的无缝连接。不过,仅从功能而言,VSS只能作为一个Team级的产品,适合于一些小型项目开发,并不足以满足企业级应用需求。同时,由于VSS只能运行在Windows操作系统上,无法实现跨平台支持,这对于版本控制的应用是致命的。 在企业级应用中,不得不提到被誉为是开源版本控制软件奇葩的CVS(Concurrent Versions System)。1986年,CVS作为一组shell脚本而诞生。1993年,CVS正式被设计成为一款基于网络平台的源代码管理软件。从20世纪90年代末伊始,CVS一直是该领域的绝对首选,被广泛应用于许多著名的开源软件项目中,如Mozilla、XEmacs、KDE、GNOME等。当然,CVS也是存在一定不足的,例如,不支持目录的版本管理、不支持全局版本号、较弱的二进制文件差异化处理等。正是由于CVS存在的不足,2000年,另一款开源版本控制软件SVN诞生了。近几年中,作为一款优秀的开源软件,SVN正在以非常惊人的速度崛起与发展。目前,SVN已被广泛应用于著名的开源软件发布平台soureforge中,因此,本书将对SVN的应用作简单介绍。 SVN简介 SVN,即Subversion,是一款非常优秀的开源版本控制软件,受到绝大多数开源项目的亲睐。2000年,CollabNet,Inc在开发SourceCast(协同工作套件)时,其中一部分版本控制系统是源于CVS的,但由于CVS的种种限制与弊端,CollabNet意识到必须找到一个更完善的解决方案才足以满足应用需求。不过,CollabNet已经不可能找到比CVS更优秀的开源产品了。最后,CollabNet决定自主研发一套新的版本控制系统,即SVN。由于SVN保留了CVS的基本功能与优点,改进了CVS的不足。虽然,许多文档及评价都显示SVN可以完全取代CVS,不过,笔者并不这样认为。版本控制是一项非常严谨的工程,甚至可以视为是一个项目甚至于企业的命脉,轻率变更版本控制软件可能是致命的。事实上,在许多开发者看来,CVS几乎已经代表了版本控制系统的全部,尽管它本身并不太完美。因此,有理由相信,在未来的数年中,CVS与SVN的状况将如同C++与JAVA之争一样,是两个强者的对话。下面,笔者简单介绍一下SVN的基本架构,如图附录A-1所示。 图附录A-1 SVN的基本架构 与CVS类似,开发人员可以通过命令行或图形接口的客户端程序访问SVN服务器。SVN服务器程序通常有2种运行方式: 作为Apache2.0的一个独立模块运行,通过WebDAV/Delta协议与外界通信。 使用自带的小型服务器程序SVN Serve,使用自带的通讯协议以http方式运行。 服务器程序根据客户端的指令,对版本库进行相应的操作,并将相应数据信息反馈给客户端。当然,对于版本库直接存放在本地的情况,客户端程序并不需要通过网络及服务器程序,而是直接由客户端接口访问。 SVN的版本库也有2种存储形式,即Berkeley DB(简称BDB)和FSFS。由于BDB是一种数据库系统,因此,在事务处理、日志管理、备份等方式都有非常出色的表现。而FSFS是一种不依赖于数据库系统的文件管理形式,

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档