主站
|
Phpma'blog
|
才桀
|
无图版
|
左右分栏
|
风格切换
|
Home首页
»
您尚未
登录
注册
|
推荐
|
搜索
|
社区服务
|
帮助
|
订阅本帖更新
社区服务
银行
朋友圈
搜索工具
风格切换
black
pink
wind
yellow
moon
wind5
bbsphpma
gray
movie
green
blue
开源嘛论坛
»
php技术讨论
»
php工作技术探讨
»
Subversion使用 Subversion和CVS相比……
交 易
投 票
本页主题:
Subversion使用 Subversion和CVS相比……
打印
|
加为IE收藏
|
收藏主题
|
上一主题
|
下一主题
phpma
级别:
管理员
精华:
6
发帖:
266
威望:
278 点
金钱:
2780 RMB
贡献值:
0 点
注册时间:2007-05-17
最后登录:2008-11-28
Subversion使用 Subversion和CVS相比……
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:\Projects\Project1 file:///D:/TestRepository/Project1 -m “初始化“
用启动服务
svnserve -d -r D:\TestRepository\
客户端Checkout
svn checkout svn://主机名/Project1 (即获取Project1的项目)
以上都是很简单的命令。而且上面只用到了一种服务模式,Apache的还在尝试中。
目前只用到了Subversion的基本功能,就已经感觉不错了,觉得入门很轻松,帮助文档也比CVS要好的多。
Subversion也有图形的客户端,可以在 TortoiseSVN 找到。
Subversion也VS.Net的插件,可以在AnkhSVN 找到。
TortoiseSVN相信不错,因为以前用过它的另一个For CVS的工具,可以和浏览器结合在一起,非常方便和美观。
Posted: 2008-05-06 18:59 |
[楼 主]
快速跳至
>> 开源phpma
|- php技术讨论
|- php教程
|- php工作技术探讨
|- php示例
|- PHP类库{资源}
|- 程序推荐
|- linux、mysql、apache探讨
>> 网页设计
|- Photoshop图片处理
|- Dreamweaver梦幻制作
>> 资源共享
|- 影视天地
|- 精彩贴图
|- 泗罗贴图
|- 我的家
|- 茶余饭后
|- 最新资讯
|- 精品图书推荐
|- 精品阅读
>> 站务公告
|- 站务处理
|- 公告中心
开源嘛论坛
»
php工作技术探讨
Guest cache page, Update at 2008-12-02 13:02
桂ICP备07006725号
Powered by
PHPWind
v6.0
Certificate
Code © 2003-07
PHPWind.com
Corporation