




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一直以来对于自己的项目都是使用CVS进行管理,听说Subversion很久了,但是都没有时间去尝试。想想时间都是省出来的,于是决定,一天学一点,不多,积累成河嘛。 Subversion和CVS相比,除了包含了CVS的全部特性之外,也加入了新的理念。 新理念 1、路径、改名、以及文件meta-data也可进入版本控制范围。 缺少这些特性是CVS被抱怨最多的方面之一,subversion不止对文件内容和文件存放位置加入控制,也对目录,拷贝,重命名操作加入版本控制。它也允许文件/目录的相关元数据meta-data和文件/目录本身一起被版本控制起来,并提供一种机制对文件的执行权限进行控制。 2、Commit动作真正成为原子级的操作了。直到整个commit动作都成功前不会有任何部分的commit会生效。版本修订号只是预确认,而不是对文件预确认。(翻译不出来 -_-;)日志信息将绑定到修订信息,而不是象CVS那样冗余的存储下来。3、提供Apache网络服务器选项,支持WebDAV/DeltaV协议。Subversion可以使用基于http协议的WebDAV/DeltaV协议进行网络通讯,并由Apache服务器提供源码仓库方的网络浏览服务。这为Subversion提供了比CVS更好的协同工作能力,并提供了各式各样的自由的关键特性:授权,基于路径的授权,线性压缩,以及基本源码仓库浏览。4、独立服务器选项Subversion也能提供独立服务器选项,使用自定的协议(不是每个人都想运行Apache2.x)独立服务器可以作为系统的inetd服务运行,并提供基本的授权。它也能使用ssh进行加密。5、建立分支和标签操作成为不耗时的操作。这些动作没理由耗时,所以我们不再让它们耗时。6、分支与标签的实现都是基于底层的拷贝操作,一个拷贝占用一块固定大小的空间。任何拷贝都可以作为一份标签;假如你开始对某个版本的拷贝进行commit动作,那它也就成为一个分支。(这与CVS的分支节点做标签方式不同)7、天然的client/server结构,层次化库设计。Subversion从设计之初即采用client/server机构;因此避免了困扰CVS了许久的一些维护性难题。代码被构建为一组带有详细接口说明的模块,用以方便的由其他应用程序进行调用。8、Client/server协议向双方发送对比差异。网络协议利用宽带有效地发送对比差异给客户端和服务器端双方。( CVS只是 server-client,?没有client-server )9、资源消耗与数据改变的大小成正比,而不是与数据本身大小成正比一般来说,一项Subversion操作所需时间与操作最终变化的大小成正比。而不是与操作所触及的整个项目的大小成正比,这是Subversion源代码仓库模型的一个特性。10、有效的处理二进制文件Subversion对于二进制文件和文本文件的处理同样有效,因为subversion使用一种二进制差异比较算法来增量存储那些连续的修订本。11、易于语法分析的输出。所有Subversion命令行客户端的输出都是仔细设计的,可轻松为人所理解,也适于程序自动解析。可进行脚本语言处理将是下一步优先考虑的特性。好了,开始使用吧。Subversion到目前的安装已经非常简单了。到Subversion网站下载Windows下的安装文件,简单的步骤就可以完成安装,而且安装程序已经自动注册Path,直接在命令行模式就可以使用了。 首先初始化Repository,输入命令:svnadmin create D:TestRepository然后,把现有的项目的目录结构以及文件导入到Repository中:svn import D:ProjectsProject1 file:/D:TestRepositoryProject1 -m “初始化“用启动服务svnserve -d -r D:TestRepository客户端Checkoutsvn checkout svn:/主机名/Project1? (即获取Project1的项目)以上都是很简单的命令。而且上面只用到了一种服务模式,Apache的还在尝试中。目前只用到了Subversion的基本功能,就已经感觉不错了,觉得入门很轻松,帮助文档也比CVS要好的多。Subversion也有图形的客户端,可以在 TortoiseSVN 找到。Subversion也VS.Net的插件,可以在AnkhSVN 找到。TortoiseSVN相信不错,因为以前用过它的另一个For CVS的工具,可以和浏览器结合在一起,非常方便和美观。服务 Subversion具有两种服务模式,一个是作为Apache的模块,另一个是自定义协议的Subserve服务。作为Apache的模块,客户端可以通过WebDAV/DeltaV协议访问Repository,而使用Subserve则使用Subversion的自定义协议。下表是两种服务模式的比较:功能 Apache + mod_dav_sub Svnserve 验证方式 基于HTTPS的X.509、LDAP、NTLM或其他Apache支持的验证 CRAM-MD5或者SSH 用户帐户管理 私有的用户文件 私有的用户文件或已有的系统帐户 授权管理 blanket read/write access或单一目录的访问控制 blanket read/write access 加密 可选的SSL 可选的SSH隧道 交互性 可通过支持WebDAV的客户端访问 无交互性 Web访问 有限的内置支持,或通过第三方的工具,例如ViewCVS 通过第三方的支持,如ViewCVS 速度 稍慢 稍快 初始安装 稍复杂 相当简单 启动svnserve服务svnserve 是一个轻量级的服务, 使用自定义的协议通过TCP/IP与客户端通讯。客户端通过由 svn:/ 或者 svn+ssh:/ 开始的URL访问svnserve服务器。启动服务器端口监控(inetd)模式如果你打算用端口监控来启动处理客户的访问请求的进程,你可以通过传入参数-i来启动:svnserve -i当使用-i参数启动服务的时候,svnserve通过stdin和stdout用自定义协议和客户端通讯。同时服务侦听3690端口。独立端口监控进程使用参数-d启动服务作为一个独立的端口监控进程。svnserve -d当运行svnserve在独立端口监控模式时,你可以使用-listen-port=和-listen-host=参数来自定义需要的端口和主机名称。当前模式默认的端口是3690。当然,也有第三种方法启动svnserve,也就是使用“隧道模式”,使用-t参数启动服务。这个模式要求远程服务程序,如RSH或SSH,已经成功验证用户,并且使用已经校验的用户启动一个属于该用户的svnserve进程。当使用该模式提供服务时,要确认启动的用户帐户具备对Repository的读/写权限。设置项目目录当svnserve开始运行时,它将会暴露所有的Repository到网络上。不过,当客户端需要获取一个Repository的内容时,需要指定Reopsitory的绝对路径。例如:一个Repository放在文件路径C:/Project Repository/Project1那么当客户端访问时,需要指定绝对路径:svn:/host/C:/Project Repository/Project1所以,为了增加保密性,你可以使用参数-r指定需要暴露的Repository的路径,当用户访问时,只需指定Repository的名称即可。例如上面的Repository,当启动服务时,使用如下的方法:svn -d -r C:/Project Repository那么当客户端访问时,则使用svn:/host/Project1就可以获取数据了。内置的验证和授权当客户端连接到一个svnserve进程时,下面的流程就会触发:1、客户选择一个指定的Repository;2、服务处理Repository的配置文件 conf/svnserve.conf文件,并且开始执行在其中定义的所有验证和授权策略;3、依赖与情形和授权策略:a)客户端也许允许匿名访问而不需要验证,或者b)客户但也许需要在任何时候被要求验证,或者c)假如处于隧道模式中,客户端将声明自己已经可以被外部验证。很显然,如上所说,用户文件是一个名为svnserve.conf的,放在conf目录下的文件。现在我们来看看如何配置这个文件:这个配置文件放置在Repository的目录中的conf目录下,它有两个节点:generalusers其中,general的配置信息有:anon-access = readauth-access = write其中表示对于验证有效的以及没通过验证的用户可以做什么事情。分别有read, write和noneusers的标签的配置内容有:USERNAME = PASSWORDpasswo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六一活动编花篮活动方案
- 六一活动跳舞蹈活动方案
- 六一演出带队活动方案
- 六一童心企划活动方案
- 六一美餐活动方案
- 六一节活动签到活动方案
- 六堡镇植树活动方案
- 六年级组织植树活动方案
- 医护礼仪考试试题及答案
- 冶金教资考试试题及答案
- 2025-2030中国医疗美容行业市场深度调研及竞争格局与投资研究报告
- 安徽省合肥市蜀山区2025年数学五下期末监测试题含答案
- 《基于CREAM方法对某核电站调试阶段人因失误原因分析案例报告》17000字【论文】
- 2025年宿迁中考试题及答案英语
- 2025年麻精药品考试试题及答案
- DBJ51T062-2016 四川省旋挖孔灌注桩基技术规程
- DB11-T 420-2019 电梯安装、改造、重大修理和维护保养自检规则
- 湖南省长沙五中学2025届中考生物适应性模拟试题含解析
- 《银行个人理财业务PEST探析和SWOT探析》4000字
- 从细节开始为家人制定科学合理的膳食计划
- 医院医用耗材SPD服务项目投标方案
评论
0/150
提交评论