SVN安装配置实例说明13.docx
《SVN安装配置实例说明13.docx》由会员分享,可在线阅读,更多相关《SVN安装配置实例说明13.docx(21页珍藏版)》请在冰点文库上搜索。
![SVN安装配置实例说明13.docx](https://file1.bingdoc.com/fileroot1/2023-5/27/32aa32a3-c5dc-4eac-a84e-a96e0f7e0884/32aa32a3-c5dc-4eac-a84e-a96e0f7e08841.gif)
SVN安装配置实例说明13
SVNSERVER版服务器与客户端搭建
目录
一、服务器端搭建说明(Windows上的安装,不集成Apache)1
1.版本说明:
此次安装的版本号是svn-1.4.01
2.下载说明:
1
3.安装说明1
4.部署说明2
a、创建仓库(Repository)2
b、注册服务3
c、访问4
d、权限配置5
二、客户端安装7
1.版本说明:
7
2.下载说明:
7
3.安装说明:
7
4.初始化导入7
5.基本操作流程9
a、checkout(取出)9
b、存入(checkin)/提交(commit)10
三、SVN客户端中文版本实例说明13
1.安装TortoiseSVN客户端语言包:
13
2.初始化导入13
3.基本操作流程15
a、检出15
b、更新/提交16
一、服务器端搭建说明(Windows上的安装,不集成Apache)
1.版本说明:
此次安装的版本号是svn-1.4.0
2.下载说明:
Windows下的二进制安装包分为两种,一种是setup的安装文件,另一种是普通的压缩包文件,setup文件会自动注册一些信息,比如环境变量以及服务等,这些都可以自己手动实现的,普通压缩包文件需要手动将bin路径添加到系统环境变量(我的电脑右键-高级-左下方环境变量)中(实例图1)。
图1如下:
下载地址:
http:
//subversion.tigris.org/files/documents/15/34093/svn-1.4.0-setup.exe
3.安装说明
软件下载后,双setup文件:
svn-1.4.0-setup.exe,一路next直到finish结束(默认安装在C:
/ProgramFiles/Subversion目录下)
注:
如果是setup文件,直接运行安装文件即可。
但对于压缩包,须将bin路径添加到系统环境变量(我的电脑右键-高级-左下方环境变量)中。
bin目录下主要有如下几个文件(实例图2):
svnadmin:
仓库管理工具,包括创建、修复和备份等操作。
svnlook:
仓库查看工具,包括信息、日志和锁定状态等内容,不会造成仓库的改动。
svnserve:
svn服务程序,允许通过svn网络协议来访问仓库。
svn:
SVN客户端,用于访问仓库,对项目进行版本管理。
svnversion:
客户端工具,用于查看本地拷贝的修订信息。
图2如下:
4.部署说明
a、创建仓库(Repository)
SVN是以仓库为版本控制单位的,一个SVN服务器可以管理多个仓库,每个仓库拥有独立的修订号(REVISION),仓库中的任何一次更新都会带来修订号的递增。
你可以根据需要选择建立一个或者多个仓库,这里将仓库都放到D:
/SVN_REPOS目录下,先在svn安装的服务器D盘根目录下面建立SVN_REPOS文件夹(实例图3),使用下面命令控制台的命令将会在该目录下创建一个Test仓库(实例图4):
图3如下:
图4如下:
如果创建成功,D:
/SVN_REPOS/下将会多一个Test目录(实例图5)。
图5如下:
b、注册服务
为了让SVN服务程序每次开机后自动运行,需要将其注册为服务。
在命令控制台中执行如命令(实例图6):
图6如下:
注意,上述命令均在一行中。
sc.exe是Windows2000以后系统自带的一个工具,2000下没有,可以从XP上拷过来。
svnservice为服务名称,后面的参数格式有严格要求,等号前面没有空格而后面有。
binPath本身带有多个参数,因此用引号括起来,而由于路径里面又有空格,因此又加上了一层引号。
--service和-r均为svnserve.exe的参数,前者要求它作为服务运行,后者指明了仓库的根路径(多仓库为仓库的父目录)。
带安装包的SVN会自动注册服务,这时我们可能需要修改-r参数,命令如下(实例图7):
图7如下:
c、访问
注册完后,通过在命令控制台中执行如下命令(实例图8)
或者服务管理器(service.msc)启动服务。
图8如下:
接下来,就可以通过下面的命令来测试系统是否工作正常(实例图9):
图9如下:
如果正确的显示出仓库的相关信息,那么就大功告成了,否则请检查服务的参数是否配置正确,比如,如果未在服务参数中指定正确的-r值,就会得到如下错误:
Norepositoryfoundin'svn:
//localhost/Test'
如果安装了TortoiseSVN,则可以直接在浏览器中输入svn:
//localhost/Test,这样会调出TortoiseSVN的Repos-Browser。
到此,你就可以通过TortoiseSVN来导入工程进行版本管理了。
d、权限配置
在进行权限配置前,所有的用户都能进行任何操作,在很多情况下是不允许的。
在创建仓库时,仓库目录下都会生成好几个文件夹,其中conf里面存储的是配置信息,包括三个文件(实例图10):
authz:
访问权限配置
passwd:
用户名和密码配置
svnserve.conf:
基本配置信息
图10如下:
先配置svnserve.conf,将里面几项配置前的注释去掉,最后的内容如下:
[general]
anon-access=read
auth-access=write
password-db=passwd
authz-db=authz
这些参数的含义文件里都有详细说明,其中,anon-access和auth-access分别是对匿名用户以及认证用户的访问控制(读、写),password-db指明用户密码文件路径(认证),authz-db指明权限配置文件路径(授权)。
另外还有一个参数realm用于指明仓库所属的认证域,默认情况下每个仓库位于不同的域(每个仓库有一个唯一的uuid),因此我们可以不设置该项,除非多个仓库需要共用同一份passwd配置。
passwd文件的配置很简单,格式如下(等号前面为用户名,后面为密码):
[users]
harry=123
sally=123
guest=123
authz文件的配置则可以创建用户组并精确配置某个用户或用户组对某个文件或目录的访问权限,下面是一个例子:
[groups]
harry_and_sally=harry,sally
[Test:
/]
*=r
[/project1]
*=
harry=rw
sally=r
[/project1/foo]
sally=rw
[/project2]
@harry_and_sally=rw
guest=r
以上权限配置详细说明:
文件内容groups用于定义用户组,后面便是对资源的具体访问控制,/表示仓库根目录,*表示所有用户,用户组前面需加上@符号标识,r表示可读,w表示可写,等号右边为空则表示没有权限。
注意对于目录结构,当用户访问某个资源时,SVN会先看有没有直接针对该资源的访问控制,如果没有找到,则会继承上一级目录的访问权限,如此递推。
再提一点,当我们有多个仓库时,我们会发现这些仓库的用户帐号在大多数情况下都是相同的,因此,我们可以将passwd文件放到公共的地方,然后将所有仓库的password-db配置都指向该文件。
相应的,authz-db也可以共用一个文件,不过需要在配置具体的访问控制时指明所属的仓库,如下:
[/]
*=r
[repos1:
/project1]
*=r
harry=rw
[repos2:
/project1]
*=r
sally=rw
上述配置表明,所有人对所有仓库的根目录都有读权限,但只有harry对仓库repos1里的project1有读写权限,只有sally对仓库repos2里的project1有读写权限。
二、客户端安装
1.版本说明:
此次安装的版本号是TortoiseSVN1.6.10,Build19898-32Bit,2010/07/1615:
46:
08(TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msi)
2.下载说明:
下载地址:
http:
//cdnetworks-kr-1.dl.source...in32-svn-1.6.12.msi
3.安装说明:
软件下载后,双setup文件:
TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msi,一路next直到finish结束(默认安装在C:
\ProgramFiles\TortoiseSVN目录下)
4.初始化导入
下面就是将数据(项目)导入到上面所建立的Test版本库,以后就由版本库管理的数据。
我们的任何改动都会被版本库记录下来,甚至我们自己丢失、改错数据时版本库也能帮我们找回数据。
比如,我在d:
\wwwroot下有个guestbook文件夹,里面存放的是编写的留言簿程序(实例图11)。
图11如下:
在guestbook文件夹上“右键->TortoiseSVN->Import...(导入)”(实例图12),
图12如下:
在弹出对话框的“URLofrepository”输入“svn:
//localhost/Test/guestbook”。
在“Importmessage”输入“导入整个留言簿”作为注释(实例图13)。
图13如下:
点OK后要求输入帐号。
我们在用户名和密码处都输入harry和123。
完成后guestbook中的内容全部导入到了svn:
//localhost/Test/guestbook(实例图14)。
图14如下:
我们看到在D:
\SVN_REPOS\Test没有任何变化,连个guestbook文件夹都没有建立,唯一的变化就是D:
\SVN_REPOS\Test容量变大了。
实际上我们源guestbook中的内容已经导入Test版本库了,源guestbook文件夹可以删除了。
需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的客户机上进行。
例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn:
//133.96.121.22”。
5.基本操作流程
a、checkout(取出)
取出版本库到一个工作拷贝:
来到任意空目录下,比如在e分区建立一个空文件夹e:
\work。
“右键->SVNCheckout”(实例图15)。
图15如下:
在“URLofrepository”中输入“svn:
//localhost/Test/guestbook”,这样我们就得到了一份guestbook中内容的工作拷贝(实例图16)。
图16如下:
b、存入(checkin)/提交(commit)
在工作拷贝中作出修改并提交:
在guestbook工作拷贝中随便打开一个文件,作出修改,然后“右键->SVNUpdate”。
这样我们就把修改提交到了版本库,版本库根据情况存储我们提交的数据(实例图17)。
图17如下:
在修改过的文件上“右键->TortoiseSVN->ShowLog”(实例图18),可以看到对这个文件所有的提交。
图18如下:
在不同的revision条目上“右键->Comparewithworkingcopy”,我们可以比较工作拷贝的文件和所选revision版本的区别(实例图19、20)。
图19如下:
图20如下:
注:
以上为客户端英文版本使用说明,下面另附安装语言包后,中文版本实例说明如下:
三、SVN客户端中文版本实例说明
1.安装TortoiseSVN客户端语言包:
LanguagePack_1.6.10.19898-win32-zh_CN.msi(默认安装即可)
2.初始化导入
下面就是将数据(项目)导入到上面所建立的Test版本库,以后就由版本库管理的数据。
我们的任何改动都会被版本库记录下来,甚至我们自己丢失、改错数据时版本库也能帮我们找回数据。
比如,我在d:
\wwwroot下有个guestbook文件夹,里面存放的是编写的留言簿程序(实例图11附)。
图11附如下:
在guestbook文件夹上“右键->TortoiseSVN->导入”(实例图12附),
图12附如下:
在弹出对话框的“版本库URL:
”输入“svn:
//localhost/Test/guestbook”。
在“导入信息(M)”输入“导入整个留言簿”作为注释(实例图13附)。
图13附如下:
点“确定”后要求输入帐号。
我们在用户名和密码处分别输入harry和123。
确定后guestbook中的内容全部导入到了svn:
//localhost/Test/guestbook(实例图14附)。
图14附如下:
我们看到在D:
\SVN_REPOS\Test没有任何变化,连个guestbook文件夹都没有建立,唯一的变化就是D:
\SVN_REPOS\Test容量变大了。
实际上我们源guestbook中的内容已经导入Test版本库了,源guestbook文件夹可以删除了。
需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的客户机上进行。
例如运行svnserve的主机的IP是133.96.121.22,则“版本库URL:
”部分输入的内容就是“svn:
//133.96.121.22”。
3.基本操作流程
a、检出
取出版本库到一个工作拷贝:
来到任意空目录下,比如在e分区建立一个空文件夹e:
\work。
“右键->SVN检出(K)”(实例图15附)。
图15附如下:
在“版本库URL:
”中输入“svn:
//localhost/Test/guestbook”,这样我们就得到了一份guestbook中内容的工作拷贝(实例图16附)。
图16附如下:
b、更新/提交
在工作拷贝中作出修改并提交:
在guestbook工作拷贝中随便打开一个文件,作出修改,然后“右键->SVN更新”。
这样我们就把修改提交到了版本库,版本库根据情况存储我们提交的数据(实例图17附)。
图17附如下:
在修改过的文件上“右键->TortoiseSVN->显示日志(L)”(实例图18附),可以看到对这个文件所有的提交。
图18附如下:
在不同的版本号条目上“右键->与工作副本比较(W)”,我们可以比较工作拷贝的文件和所选版本号版本的区别(实例图19附、20附)。
图19附如下:
图20附如下: