??xml version="1.0" encoding="utf-8" standalone="yes"?>
操作pȝQ?/span>window xp sp2
SVN的版本:(x)1.5Q?/span>http://www.collab.net/downloads/subversion/Q?/span>
TortoiseSVN的版本:(x)1.5Q?/span>http://sourceforge.net/projects/tortoisesvn/Q?/span>
SVN服务器端安装配置
1?nbsp;安装SVN服务器端
A、到svn的官方网下蝲svn服务器端软g到本圎ͼ然后安装Q按提示一步一步安装完成?/span>1.5版本默认的会(x)?/span>svnd?/span>window的服务的选项Q勾选上卛_随操作系l的启动而启?/span>svn的服务。?/span>1.5以前的版本则需要手动添加的window的服务中Q用window?/span>sc命o(h)Q至?/span>sc命o(h)如何用读者可以查?/span>sc的帮助?/span>
B、安装完后打开window的服务管理器Q将svn的服务启动,全名?/span>Svnversion Server。打开命o(h)行运行命?/span>svnadmin --versionQ可以看?/span>svn安装的版本信息,xsvn的安装完成?/span>
C、安?/span>svn客户端端软gTortoiseSVNQ按步骤安装下来卛_?/span>
2?/span>SVN服务器端的配|?/span>
W一点只介绍?/span>svn的安装,要让其能够用,我们q需要些配置Q像版本库的建立Q用L(fng)讉K权限{?/span>
A、创建版本库?/span>
打开命o(h)行执?/span>svnadmin create pathQ其?/span>path表示你要建立的版本库的存放\?此\径也是svn在window的服务上注册是指向的路径Q笔者的路径?/span>D:\svn_repositoryQ即svnadmin create D:\svn_repository。运行该命o(h)后,可以发现?/span>D:\svn_repository的目录下Q创Z些文件和文g夹,x创徏版本库成功?/span>
B、配|用L(fng)讉K权限?/span>
在刚才的目录下有个文件夹confQ?/span>svn的配|文件就在此目录中。打开该文件夹下的svnserver.conf文gQ我们可以看?/span>svn的配|信息的一些属性,q里行前凡是?/span>#的都表示被注释掉了,你可以把#L让该行的属性生效,或者自己在最后添加新的行来生?/span>svn的属性?/span>
在这我们兛_的属性说明如下:(x)
anon-access = read 表示匿名的用户可以什么样的方式访问版本库Q有none?/span>read?/span>write三个值可选,文g中ؓ(f)read说明匿名用户可以只读的方式访问版本库?/span>
auth-access = write 表示验证通过的用户具有什么权限,?/span>none?/span>read?/span>write三个值可选,文g中ؓ(f)write表示可写Q当然也可读了?/span>
password-db = passwd 表示用户的密码存攄地方?/span>
authz-db = authz 表示版本库中讉K路径的规则,卌只能讉K哪个目录下的文gQ其他目录下的文件无法访问?/span>
现在我们?/span>auth-access?/span>password-db?/span>authz-db三个属性的前面?/span>#LQ其生效,注意三个属性前不能有空根{?/span>
然后我们~辑passwd?/span>authzq两个文件的信息?/span>
a、在passwd文g中的[users]下添加能讉K版本库的用户名和密码Q如该文件中的事例。我们添?/span>admin = admin
b、在authz文g中,[groups]下可以配|组信息Q即几个h加入C个组中?/span>[/foo/bar]下添加h员的规则表示谁可讉K/foo/bar路径下的信息。我们在[/foo/bar]下添?/span>
[/]
admin = rw
xQ我们配|了admin的̎P该̎号具有根目录下的所有文件的d操作权限?/span>
3、创建我们的目
?/span>D:"test下新?/span>project文g夹,?/span>project下新?/span>trunkQ?/span>tagsQ?/span>branches三个文g夹,打开命o(h)行,目录{?/span>D:\test下,q行svn import –m addproject --username admin --password admin --config-dir /project svn://localhost回R昄如下Q?/span>
Adding project
Adding project/trunk
Adding project/branches
Adding project/tags
Committed revision 1.
表示我们的项?/span>project创徏成功?/span>
q里说明?/span>trunk?/span>tags?/span>branches三个文g夹的作用Q?/span>
trunkQ表C开发时版本存放的目录,卛_开发阶D늚代码都提交到该目录上?/span>
branchesQ表C发布的版本存放的目录,即项目上U时发布的稳定版本存攑֜该目录中?/span>
tagsQ表C标{֭攄目录?/span>
在这需要说明下分三个目录的原因Q如果项目分Z期、二期、三期等Q那么一期上U时的稳定版本就应该在一期完成时代?/span>copy?/span>branches上,q样二期开发的代码对一期的代码没有影响Q如新增的模块就不会(x)部v到生产环境上。?/span>branches上的E_的版本就是发布到生环境上的代码Q如果用户用的q程中发现有bugQ则只要?/span>branches上修改该bugQ修改完bug后再~译branches上最新的代码发布到生产环境即可?/span>tags的作用是在branches上修改的bug的代码合q到trank上时创徏个版本标识,以后branches上修改的bug代码再合q到trunk上时׃tags?/span>version?/span>branches最新的version合ƈ?/span>trunkQ以保证前期修改?/span>bug代码不会(x)在合q?/span>
x我们可以?/span>svn来管理我们的代码了?/span>