Username:
Password:
Remember Me?
从CVS到subversion
< 上一篇
|
下一篇 >
来源: ChinaUnix博客 作者: ChinaUnix博客 发布时间:2008-01-01 18:17:00
使用了几天CVS后,也许最近两年一直使用clearcase的缘故,总感觉几年前用过的CVS有些不习惯,上网查了查,发现subversion正在逐步取代CVS。花了一天的时间,终于对subversion的基本操作有了初步的认识。本文仅仅是根据我这一天的使用情况进行阐述,如有不当,请见谅
1. Install SubVersion
最新的Linux发行版一般都默认安装subversion,因此这里仅仅说明windows下的安装过程。
用户能够直接从
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
下载最新版本的subversion,我下载的是最基本的软件包:
svn-win32-1.4.6.zip。
下载完成后,将该软件包直接解压到系统中的一个路径下即可,如c:\svn,此时完成的路径是:c:\svn\svn-win32-1.4.6。
为了方便使用命令行访问svn,将c:\svn\svn-win32-1.4.6\bin加入到系统path环境变量中。
2. Create Subversion Repository
和CVS类似地是,svn提供了一个方便快捷的方式完成repository的创建:
svn create c:\svn\svn_repository
但是需要指出的,在Linux下安装subversion,和安装CVS过程不同的是,并无需root权限,连同特定用户连同用户组的需要。
3. Import your project
向SVN Repository中导入project,先进入到您的项目文档夹,然后执行如下命令:
svn import -m "Create Initial Version" . file:///c:/svn/svn_repository/project
其中,file为svn提供的一种访问本地repository的schema,而"."是指将当前目录导入到repository中的project项目中。
此时,您即可访问该repository了:
svn co file:///c:/svn/svn_repository/project project
此命令将repository中的项目checkout到当前路径的project目录下。
假如对project中的某个文档进行了修改,能够通过如下命令commit到repository中去:
svn ci -m "" filename
需要注意的是,参数-m是用来对所提交文档的文字描述,假如不使用该参数的话,则系统会自动使用环境变量SVN_EDITOR所指定的文本编辑器来提示您输入描述信息。
4. Manage SVN
4.1 Access SVN
除了通过上述的file schema来访问local host上的repository外,SVN还提供了另外三种通过网络访问远程或本地的repository的schema:svn, svn+ssh, 连同和apache结合使用的http访问方式。本文仅仅涉及svn的访问方式,另外两种方式用户在实际使用中能够再进一步研究。
通过svn schema访问repository是SVN提供的一种方便易用的访问方式。这种方式需要启动SVN提供的svnserve作为SVN的服务器,监听SVN客户端的请求。启动svnserve的常用命令格式如下:
start /B svnserve -d -r c:\svn\svn_repository
这个命令用户能够直接在windows命令行终端输入即可启动svnserve进程,并自动在后台执行。但是写入一个bat文档执行时,弹出的窗口却不能自动关闭
假如用户希望能够在系统启动时自动运行该进程,svnserve提供了参数--service,允许用作为系统服务运行。但是作者将svnserve加载为系统的服务,并为该服务提供这个命令参数启动时失败
无奈之下,只好google了半天,另辟蹊径,通过vbs脚本完成这个任务:
在C:\svn\svn-win32-1.4.6\bin下创建run_svn_service.vbs:
set ws=wscript.createobject("wscript.shell")
ws.run "C:\svn\svn-win32-1.4.6\bin\runserver.bat",0
在同一目录下创建bat脚本runserver.bat:
svnserve -d -r c:\svn\svn_repository
然后,创建执行脚本start_svn.bat:
wscript C:\svn\svn-win32-1.4.6\bin\run_svn_service.vbs
最后,将此脚本的链接放入系统的startup中即可。
svnserve启动后,即可通过如下命令访问SVN:
svn co svn://127.0.0.1/project project
当然,假如在别的机器上访问,只需将127.0.0.1修改为实际的IP地址。
此时,SVN提供的访问权限策略控制开始生效,默认情况下,匿名用户只有读的权限,假如执行commit操作,SVN将会提示认证失败的错误信息。为了解决这个问题,需要修改repository下的conf/svnserve.conf文档,将anon-access修改为write,然后重新启动svnserve即可。
同时SVN还支持对授权用户的访问权限控制,这里不再赘述。
4.2 Backup Repository
SVN提供了命令dump连同load完成repository的完全备份和恢复。
在备份时使用参数--incremental --revision xxx:yyy则可执行从版本xxx到yyy的增量备份。
5. 总结
经过试用subversion,主要有以下几点感觉:
1) 基本操作指令和CVS类似,对于CVS用户向subversion迁移门槛很低。
2) 安装比CVS更简单,甚至在windows下安装只需要unzip一个压缩包即可。而对于大多数CVS用户而言,接触的更多都是Linux/Unix下的CVS。
3) 访问方式比CVS更加多样化。subversion在提供基本的file、svn连同svn+ssh三种访问方式外,另外提供了和Apache搭配使用的http访问方式,为远程用户通过web访问提供了便利。
4) 授权管理比CVS更加简单灵活。CVS主要使用安装系统的用户权限进行访问控制,而subversion提供了更加简单灵活的访问权限控制,在启动svnserve前,通过修改repository的svnserve.conf文档,即可自己定制repository的访问权限,比如修改访问repository的用户及密码。
5) 操作命令比CVS更加完善,如blame命令能够帮助您找出到底是谁做的错误的修改!
6) 同时,备份连同恢复工具也更加完善,便于系统的管理和维护。
7) 工具cvs2svn将帮助您方便地从cvs迁移到SVN中来
更细致的体会在以后的使用中将会周详说来。
综上所述,从CVS走向SubVersion应该是绝大多数CVS用户的必然的选择。
本文来自ChinaUnix博客,假如查看原文请点:
http://blog.chinaunix.net/u1/48729/showart_459749.html
喜欢本文,那就收藏到:
上一篇:
CVS问题集
下一篇:
QT信号与槽
相关评论
我也要评论
还没有关于此文章的相关评论!
首页
上一页
下一页
尾页
昵称:
(为空则显示guest)
评论分数:
★
★ ★
★★★
★★★★
★★★★★
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
相关推荐
xml轻松学习手册(3)xml的术语_xml教程
xml轻松学习手册(4)xml语法_xml教程
xml轻松学习手册(5)xml实例解析_xml教程
了解web页面工具语言xml(一)产生背景_xml教程
了解web页面工具语言xml(二)定义_xml教程
了解web页面工具语言xml(三)支持工具_xml教程
了解web页面工具语言xml(四)应用分类_xml教程
了解web页面工具语言xml(五)好处_xml教程
了解web页面工具语言xml(六)展望_xml教程
xml技术上传文档_xml技巧
相关资讯
cgi环境变量列表程式
Perl/TkFAQ-12.7怎样改变光标指针的形状和颜色?
Perl教学第三篇操作符
CGI编程的COOKIE技术应用
CGI编程--Perl中使用CGI模块(二)
Perl教学第九篇关联数组(哈希表)
Perl教学第八篇子程式
Perl教学第七篇控制结构
Perl教学第十一篇文档系统
Perl教学第十篇格式化输出
点击发布文章
导航
主页
设为首页
加入收藏
联系我们
赞助商
文章类别
行业资讯
域名资讯
虚拟主机
托管租用
VPS
CDN
网站运营
技术资讯
Mac OS
网络设备
路由技术
网络技术
HTML/DHTML
源码天堂
网络编程
Java
Perl
C/C++
Shell
数据库其他
DB2
Sybase
存储备份
硬件技术
网站建设
通信技术
虚拟化技术
安全其他
安全工具
加密和破解
数据库安全
程序安全
网络安全
系统安全
防火墙
VPN
网管技术其他
Informix
Oracle
PostgreSQL
Dreamweaver教程
windows操作系统
XML编程
NET编程
JSP编程
PHP编程
ASP编程
Mssql
Mysql
Access
Coreldraw
flash
web服务器
ftp服务器
mail服务器
邮件系统
IBM-AIX
HP-UX
Sco
Solaris
FreeBSD
Linux
Proxy
CSS教程
Javascript教程
Ajax
dns服务器
Photoshop教程
站长资讯
冲浪宝典
订阅
Rss Feed
主机赞助商连接:
华夏名网虚拟主机域名注册
关于我们 | 网站声明 | 联系我们 | 广告服务 IDC中文资讯站-客观公证的IDC产业权威媒体
Copyright
@
2007-2008 IDCNEWS.NET, All Rights Reserved
蜀ICP备07504800号