svn服务器及客户端安装详解.docx
- 文档编号:5255726
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:8
- 大小:20.45KB
svn服务器及客户端安装详解.docx
《svn服务器及客户端安装详解.docx》由会员分享,可在线阅读,更多相关《svn服务器及客户端安装详解.docx(8页珍藏版)》请在冰豆网上搜索。
svn服务器及客户端安装详解
SVN服务器
如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,可以使用起来。
本手册分为以下几个部分,为了说明简单是在windows下使用的方式,以方便资源有限的项目使用。
在UNIX环境下,只是安装方式不同,命令执行并无太大区别。
∙软件下载
∙服务器安装
∙建立版本库(Repository)
∙配置用户和权限
∙运行独立服务器
∙初始化导入
1软件下载
到官方网站的下载二进制安装文件,来到二进制包下载部分,找到WindowsNT,2000,XPand2003部分,然后选择Apache2.0或者Apache2.2,这样我们可以看到许多下载的内容,目前可以下载Setup-Subversion-1.5.3.msi。
2.服务器安装
(1)服务器安装,直接运行Setup-Subversion-1.5.3.msi,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。
(2)将SVN添加到Windows服务
1.新建一个文件夹用来存放库文件c:
\SVN
2.运行命令:
SVNService-install-d-rc:
\svn安装Windows服务
3.通过Windows服务管理平台启动SVN服务
(3)其它命令
1.改变服务设置:
运行命令:
SVNService-setup-d-r
在实际操作中,
2.删除服务:
运行命令:
SVNService-remove
系统文件配置svnserve.conf
3,建立版本库(Repository)
运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:
svnadmincreateE:
\svndemo\repository
就会在目录E:
\svndemo\repository下创建一个版本库。
我们也可以使用TortoiseSVN图形化的完成这一步:
在目录E:
\svndemo\repository下"右键->TortoiseSVN->CreateRepositoryhere...“,然后可以选择版本库模式,这里使用默认即可,然后就创建了一系列目录和文件。
4,配置用户和权限
来到E:
\svndemo\repository\conf目录,依据实际需要修改svnserve.conf:
#[general]
#anon-access=none
#auth-access=write
#password-db=passwd
#authz-db=authz
#realm=repository
改为:
anon-access=none
auth-access=write
password-db=passwd
authz-db=authz
realm=repository
然后修改同目录的passwd文件,去掉下面三行的注释:
#[users]
#harry=harryssecret
#sally=sallyssecret
最后变成:
[users]
harry=harryssecret
sally=sallyssecret
在passwd文件中,“=”前的字符就是用户名,后面的就是密码。
还要注意“[users]”前面的注释“#”一定要删除掉。
在passwd文件中进行用户的添加。
5,运行独立服务器
在任意目录下运行:
svnserve-d-rE:
\svndemo\repository我们的服务器程序就已经启动了。
注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。
6,初始化导入
来到我们想要导入的项目根目录,在这个例子里是E:
\svndemo\initproject,目录下有一个readme.txt文件:
右键->TortoiseSVN->Import...
在URLofrepository输入“svn:
//localhost/trunk”
在ImportMessage中输入你的日志信息
完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。
需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。
例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn:
//133.96.121.22/trunk”。
.环境和软件准备
操作系统:
windowsXPsp2
Window-Subvsersion:
http:
//subversion.tigris.org/servlets/ProjectDocumentList?
folderID=91
Windows常用客户端TortoiseSVN:
请下载subversion服务器软件和客户端,并默认安装(可以重新启动操作系统,以更新图标显示)。
2.配置管理
2.1.创建仓库(svnadmin)
在硬盘上创建个空目录,作为SVN的仓库目录。
如:
E:
\subversion\repository。
下面使用两种方式创建仓库的初时文件结构和存储方式。
命令方式和TortoiseSVN客户端方式,后面所有文档都采用两种方式说明,其功能完全相同。
请根据实际情况选择使用。
命令方式(DOS下):
#默认方式,采用FSFS方式存储数据,这是推荐方式,管理和迁移相对bdb方式简单
svnadmincreateE:
\subversion\repository
或
svnadmincreate–fs-typebdbE:
\subversion\repository
TortoiseSVN客户端
注意在最新版本的SVN1.4,采用本方式有兼容性问题,该客户端现在好想只支持1.3版本的SVN创建仓库
1.使用windowexporer或我的电脑,定位到E:
\subversion\repository,并确保本目录为空。
2.在本目录下,右键菜单中选择“TortoiseSVN”->“Createrepositoryhere…”
3.在弹出的窗口中选择数据存在文件系统方式,使用默认选取(FSFS),点击确定。
4.检查本目录下是否有生产的系统文件和文件夹,如果有,成功!
2.2.配置服务
进入仓库目录下的conf文件夹。
也就是E:
\subversion\repository\conf
里面有3个默认的配置文件:
authz,passwd,svnserve.conf
svnserve.conf控制svnserve的启动配置选项,可以配置认证和授权方式,典型的配置是设置由authz控制授权,passwd控制认证的方式来控制访问权限。
也可以使用匿名方式,但不推荐。
使用authz和passwd的典型配置:
请特别注意:
以下三个配置文件的配置,每行有效配置前不能有空格,不然配置会失败。
服务配置文件svnserve.conf
……
###匿名方式不允许访问
anon-access=none
……
###Uncommentthelinebelowtousethedefaultpasswordfile.
###表示访问仓库的认证有文件passwd提供的账户确定
password-db=passwd
……
###Uncommentthelinebelowtousethedefaultauthorizationfile.
###表示认证后的账户访问权限由文件authz定义
authz-db=authz
###Thisoptionspecifiestheauthenticationrealmoftherepository.
……
认证配置文件passwd
passwd文件实际提供访问本仓库的账户管理,文件格式就是ini方式的格式
[users]
harry=harryssecret
sally=sallyssecret
user=usersecret
这表示本仓库配置了二个用户及:
其中一个用户harry,他的访问密码是harryssecret。
访问密码可以使用明文,也可以使用htpasswd.exe(apache服务器提供的工具方法,安装apache服务器后,在其bin目录中有该程序文件)进行加密处理。
授权配置文件authz
该文件负责认证后的用户的权限控制,配置稍微复杂,但其实也就是个ini配置文件而已。
典型配置:
#groups段提供配置组的功能,但组成员必须是passwd文件中定义的用户才有效。
可以对组
#进行权限控制,所有组成员具有组对应的访问权限。
[groups]
#表示定义了一个管理组叫admin_group,包括harry和sally,admin_group前千万不能有空格
admin_group=harry,sally
#下面就是定义具体仓库下目录的访问权限
#一般对管理员来说都具有整个仓库的读写权限,一般人员对整个敞开具有读取权限,下面
#就是这样的配置,[/]表示整个仓库的根,组的引用使用@,对应的权限可以是r,w,rw或空
[/]
@admin_group=rw
*=r
以上的配置完成后,我吗就可以启动服务器了,下面说明服务器的启动。
注意,以上authz和passwd文件在管理中因为具体项目的加入和人员的变动会经常的修改,这也是SVN管理主要的工作
2.3.启动服务(svnserve)
Svn服务器一般有三种方式,svnserve,apache和SSH。
其中常用的有svnserve和apache方式。
本文只以svnserve方式讲解。
总的来说svnserve是最高效的方式,一般应用于内部开发网中使用。
Apache方式因为可以很好的部署在internet上,所以公网使用最方便,但配置稍微相对复杂点点,呵呵~~。
三种方式具体的优缺点,请参考本文后面的参考文档。
命令方式(DOS下):
svnserve–d–rE:
\subversion\repository
-d参数是以独立服务的方式启动
-r是制订要加载的仓库的物理路径
Windows系统服务
在subversion1.4后的版本,提供了安装为服务的支持
可以参考本文安装:
.
SCcreatesvn1.4binPath="\"C:
\ProgramFiles\Subversion\bin\svnserve.exe\"--service--root\"E:
\subversion\repository\""depend=Tcpipstart=auto
1.红色部分:
SVN的安装目录
2.蓝色部分:
仓库根目录
3.每个参数的格式是:
参数名称=值。
参数名称和=间没有空格,=后必须有空格,SC的变态特性,完全的BUG..注意就可以了
4.本命令方式只能用于svn1.4以上版本
5.删除服务:
scdeletesvn1.4
2.4.添加项目(import)
上面的安装配置工作完成后,启动服务,现在进入使用的主题,首先一步是把需要进行版本管控的项目加入到仓库中。
在作这个工作前,需要先接受下,SVN推荐的项目路径结构。
一般推荐是使用一个trunk保存项目主干最新版本,breaches保存以后的多个分支,tags一般保存发布或阶段性发布的标签版本。
如下
Project1/trunk
Project1/breaches
Project1/tags
下面我吗使用该目录结构,加入一个测试的项目project1来演示添加项目的过程。
在任意目录建立文件夹test,然后在test下建立上面推荐的项目目录结构。
如下
test/project1/trunk
test/project1/breaches
test/project1/tags
命令方式:
DOS下定位到test的上级目录
svnimporttestsvn:
//localhost-m"initproject1"--usernameharry--password=harryssecret
新增test\project1
新增test\project1\trunk
新增test\project1\readme.txt
新增test\project1\breaches
新增test\project1\tags
提交后的修订版为1。
TortoiseSVN客户端
1.右键点击test目录,选择“TortoiseSVN”->“Import”
2.在弹出的操作界面中URLrepository中输入服务器地址svn:
//localhost
3.在弹出的操作界面中Importmessage下面的文本域输入initproject1
4.点击OK
5.如果第一次使用,会弹出输入账户的界面,输入对应的用户账户,选择保存,下次使用就不用在输入账户认证信息了。
查看是否添加成功:
1.使用windowexporer或我的电脑,定位到E:
\subversion\repository,并确保本目录为空。
2.在本目录下,右键菜单中选择“TortoiseSVN”->“Repo-browser”
3.在弹出的输入框中输入SVN服务器地址svn:
//localhost
4.在RepositoryBrowser窗口中,你可以点击树形结构的仓库目录,查看是否存在你刚才添加的project1
5.如果你的用户有足够的权限,你可以在本界面的树目录上使用右键管理你的仓库和项目。
2.5.工作副本(checkout)
工程加入到仓库后,下面就可以进入实际的研发使用了,首先是要建立个本地的工作副本,使用checkout。
1.在任意开发机上建立工作目录。
如:
D:
\workspace\project1
2.进入具体项目的工作目录,右键菜单中选择“SVNCheckout”
3.在checkout窗口中:
URLofRepository是你具体的项目的主干仓库访问地址
如:
svn:
//localhost/project1/trunk
Checkoutdirectory是你本地副本的地址
如:
D:
\workspace\project1
其它的使用默认选项,如需要了解具体含义,请查看参考文档
4.点击OK
2.6.常用开发操作
以下主要都是在工作副本的开发中的常用操作。
2.6.1.更新和同步
其它开发人员或在其它工作副本上提交到仓库的最新版本文件,需要更新到你自己的工作副本的操作。
使用更新使你的工作副本于服务器仓库代码同步。
如果你更新的文件中本地副本和服务器仓库中的文件都是在同一版本上,本地副本作了修改文件操作后,SVN没有办法更新,因为它不知道是否该放弃本地的修改,它默认会操作合并的方式,但往往很多时候有些文件是不能简单的自动合并的,所有最好的办法是以仓库的版本为准进行更新,这就是同步操作。
下面主要说明使用客户端工具TortoiseSVN的操作方式,其它客户端工具和命令方式类似。
1.在需要更新或同步文件上或文件夹内右键点击,选择SVNupdate命令
2.如果需要同步某个文件或文件夹,需要先删除本地版本,然后在使用SVNupdate
2.6.2.添加和提交
。
。
。
3.参考文档
1.Svn安装后的官方文档
2.SVN中文官方网站:
3.中文文档:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- svn 服务器 客户端 安装 详解