Subversion 十分钟上手

一.      什么是Subversion?

Subversion是一个被设计成为CVS继任者的新版本控制系统。

二.      软件下载

首先到http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91下载安装包,这是windows系统下的,其他系统的请到 http://subversion.tigris.org/project_packages.html 去找对应的来下载。

三.      搭建服务器

如果你并不关心服务器端,那你可以直接看使用客户端

STEP 1:创建版本库(repository)

命令行运行:

svnadmin create d:/svndatabase

D:/svndatabase 就是我指定的版本库的位置了

STEP2:建立用户

打开d:/svndatabase/conf 目录,这个conf目录是第一步建立版本库时创建的。打开svnserve.conf 找到以下两句:

#[general]

#[password-db = passwd]

去掉每行开头的注释符#,其中第二行是指定身份验证的文件名,即passwd文件。打开passwd文件,找到

#[users]

# harry = harryssecret

# sally = sallyssecret

去掉#[users]前的#,下面就是用户了,一行一个,格式是 用户名 = 密码。

STEP3:启动SVN服务

命令行执行

svnserve --daemon --root d:/svndatabase

开着个command窗口总是让人不爽,没关系,你可以用 svnservice.exe 这个程序把svnserve作成服务。

STEP4:svn作为服务运行(Windows NT)

写到这里发现svnservice.exe 官方网站居然没有了,原来 subversion 1.4开始本身就集成了Windows服务的工具。详细介绍请参看http://www.subversion.org.cn/index.php?option=com_content&task=view&id=83&Itemid=9 http://svn.collab.net/repos/svn/tags/1.4.0/notes/windows-service.txt

 

四.      使用客户端

客户端有纯命令行客户端,也有GUI客户端。

作为初学者,我认为首先应该使用命令行方式,这样有助于理解,在命令行方式比较熟悉之后再转用GUI客户端。

STEP1:建立项目

首先在一个临时目录下规划好项目的主目录结构:

/temp/project

/temp/project/branches/

/temp/project/tags/

/temp/project/trunk/

/temp/project/trunk/main.cpp

/temp/project/trunk/toolbar.cpp

                …………

                makefile

 

现在可以将目录结构和数据导入版本库了

svn import project svn://svnserveraddress/project –m “init import”

如果服务器就是你的本地机器你也可以这样写

svn import project file:///d:/svndatabase/project -m”init import”

执行上面的命令,你当然都要在temp 下。第一次使用 svn 命令时,由于你没有指定username,所以会提示你输入用户名和密码,当然你也可以通过 –username –password 参数来提供。Subversion 会在本机缓存你的用户名和密码,下次使用时就无需再提供用户名和密码了,如果你觉的这样不安全,可以通过 –no-auth-cache参数指定不要缓存用户名和密码。注意上面提到的几个参数都是两个横杠哦。

当屏幕出现

Committed revision 1

说明版本库已经包含你的目录和数据了。现在可以删除这个temp目录了。现在进入下一步了。

STEP2:获取工作拷贝

选择你的工作目录,比如 d:/myproject,命令行执行:

svn checkout svn://svnserveraddress/project/trunck AppName

这样在d:/myproject 目录下就有了一个AppName的目录,他对应的就是版本库里project/trunk目录。现在你就可以在这个目录下开始修改文件了。修改完成以后就可以进入下一步。

STEP3:提交修改

d:/project/appname 目录下执行

svn commit

 

当另外的用户对这个项目作了修改并提交后,你就使用下面的命令使你的工作拷贝和版本库同步。

svn update

当你增加了新的文件和目录时可以使用 svn add 命令。

 

警告

你可以使用任何你喜欢的工具编辑文件,但你不可以在修改目录结构时不通知subversion,需要使用 svn copy svn deletesvn move命令修改工作拷贝的结构,使用 svn add 增加版本控制的新文件或目录。

至于GUI客户端,我目前使用TortoiseSVN

五.      分支、标签和合并

为什么要在这里讲分支、标签和合并?很多人包括一些使用版本控制系统有一段时间的人,几乎从来没有用过分支和标签功能,他们实际上只是把版本控制系统当成一个代码备份系统再使用。

以下两种情况都需要使用分支

u       大多数软件存在这样一个生命周期:编码、测试、发布然后重复。这样有两个问题,第一,开发者需要在质量保证小组测试假定稳定版本时继续开发新特性,新工作在软件测试时不可以中断;第二,小组必须一直支持老的发布版本和软件,如果一个bug在最新的代码中发现,它一定也存在已发布的版本中,客户希望立刻得到错误修正而不必等到新版本发布。

u       你可能要对项目做一些复杂的修改,整个修改可能会持续一周或更长的时间,这时团队中其他人还要继续工作,不能应为你的修改导致团队其他人只能停止工作。

上面两种情况版本控制都可以帮助你。具体的介绍请看svn-book. .

 

六.      网上资源

官方网站

Subversion官方网站

Subversion中文站

客户端

TortoiseSVN

 

注:本文部分内容摘抄于 http://www.duduwolf.com/post/setting_up_subversion.asp 

http://www.duduwolf.com/cmd.asp?act=tb&id=296

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值