【转】SVN服务器端安装、配置与管理--不错

原文网址:http://blog.csdn.net/qq505810824/article/details/7824929

搭建svn服务的方法步骤问题,主要有七个部分 。下面是具体的步骤介绍。
 
一、准备工作
 
1、获取Subversion服务器程序
到官方网站(http://s version.tigris.org/)下载最新的服务器安装程序(文件名为subversion)。目前最新的是1.5版本,具体下载地址 在:http://s version.tigris.org/servlets /ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91

2、获取TortoiseSVN客户端程序
从官方网站http://tortoisesvn.net/downloads获取最新的TortoiseSVN。TortoiseSVN是一个客户端程 序,用来与Subversion服务器端通讯。Subversion自带一个客户端程序svn.exe,但TortoiseSVN更好操作,提高效率。

 
二、安装服务器端和客户端 
 
搭建svn服务第二步要安装服务器端和客户端。安装Subversion(以下简称SVN)的服务器端和客户端。下载下来的服务器端是个zip压缩包,直接解压缩即可,比如我解压到E:\Subversion。客户端安装文件是个exe可执行文件,直接运行按提示安装即可,客户端安装完成后提示重启。
 
三、建立版本库(Repository) 
 
运行Subversion服务器需要首先要建立一个版本库(Repository)。版本库可以看作是服务器上集中存放和管理数据的地方。开始建立版本 库。首先建立e:\svn空文件夹作为所有版本库的根目录。然后,进入命令行并切换到Subversion的bin目录。输入如下命 令:svnadmincreateE:\svn\repos1此命令在E:\svn下建立一个版本库repos1。repos1下面会自动生成一些文件夹和文件。我们也可以使用TortoiseSVN图形化的完成这一步:先建立空目录E:\svn\repos1,注意一定是要空的。然后在repos1文件夹上“右键->TortoiseSVN->CreateRepositoryhere...”,然后可以选择版本库模式,这里使用默认的 FSFS即可,然后就创建了一系列文件夹和文件(其中就有在以前单位维护过的conf目录和该目录下的authz、passwd文件),同命令行建立的一样。(目前在客户端下载服务器上文件的地址为)
 
四、运行独立服务器 
 
搭建svn服务过程中要运行独立服务器。此时Subversion服务还没有开始,只是通过它的命令建立了版本库。继续在刚才的命令窗口输入:svnserve.exe--daemon

svnserve将会在端口3690等待请求,--daemon(两个短横线)选项告诉svnserve以守护进程方式运行,这样在手动终止之前不会退出。注意不要关闭命令行窗口,关闭窗口会把svnserve停止。为了验证svnserve正常工作,使用TortoiseSVN->Repo- browser来查看版本库。在弹出的URL对话框中输入:svn://localhost/svn/repos1
点OK按钮后就可以看见repos1版本库的目录树结构了,只不过这时repos1是个空库。你也可以使用--root选项设置根位置来限制服务器的访问目录,从而增加安全性和节约输入svnserveURL的时间:svnserve.exe--daemon--rootdrive:\path\to \repository以前面的测试作为例,svnserve将会运行为:svnserve.exe--daemon--roote:\svn然后 TortoiseSVN中的版本库浏览器URL缩减为:svn://localhost/repos1

 
五、配置用户和权限(以前单位对权限的配置,就是按这么来的) 
 
用文本编辑器打开E:\svn\repos1\conf目录,修改svnserve.conf:将:#password-db=passwd改为:password-db=passwd

即去掉前面的#注释符(使语句起作用),注意前面不能有空格。然后修改同目录的passwd文件,增加一个帐号:将:
[users]
#harry=harryssecret
#sally=sallyssecret
增加帐号:
[users]
#harry=harryssecret
#sally=sallyssecret
test=test

 
六、初始化导入 
 
下面就是搭建svn服务时将我们的数据(项目)导入到这个版本库,以后就由版本库管理我们的数据。我们的任何改动都回被版本库记录下来,甚至我们自己丢失、改错数据时版本库也能帮我们找回数据。

比如,我在d:\wwwroot下有个gstbook文件夹,里面存放的是我编写的留言簿程序。在此文件夹上“右键 ->TortoiseSVN->Import...”,在弹出对话框的“URLofrepository”输入 “svn://localhost/repos1/gstbook”。在“Importmessage”输入“导入整个留言簿”作为注释。
点OK后要求输入帐号。我们在用户名和密码处都输入test(正是上面在passwd文件中添加的用户账号)。完成后gstbook中的内容全部导入到了svn://localhost/svn /repos1/gstbook。
我们看到在e:\svn\repos1没有任何变化,连个gstbook文件夹都没有建立,唯一的变化就是e:\svn\repos1容量变大了。实际上我们源gstbook中的内容已经导入repos1版本库了,源gstbook文件夹可以删除了。需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的客户机上进行。例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是 “svn://133.96.121.22”。

 
七、基本操作流程
 
1、取出(checkout)

取出版本库到一个工作拷贝:
来到任意空目录下,比如在f分区建立一个空文件夹f:\work。“右键->SVNCheckout”。在“URLofrepository”中输 入“svn://localhost/svn/repos1/gstbook”,这样我们就得到了一份gstbook中内容的工作拷贝。
2、存入(checkin)/提交(commit)
在工作拷贝中作出修改并提交:
在gstbook工作拷贝中随便打开一个文件,作出修改,然后“右键->SVNCommit...”。这样我们就把修改提交到了版本库,版本库 根据情况存储我们提交的数据。
在修改过的文件上“右键->TortoiseSVN->ShowLog”,可以看到对这个文件所有的提交。在不同的revision条目上 “右键->Comparewithworkingcopy”,我们可以比较工作拷贝的文件和所选revision版本的区别。本节介绍搭建SVN服 务完毕,请关注本节其他相关报道。

 

八、补充说明

1、svn服务器端只能装在c盘下 svnserve.exe --daemon 这个命令才能使用,版本库也必须放在c盘下svn://localhost 对应的是c盘直接目录

如果你创建的文件夹目录为 c:/svnlib/weibo。那么import的地址为svn://localhost/svnlib/weibo


2、svn配置结束,这是最简单的步骤,已经可以用了,然后把svn整合到系统服务,以后就不用一直开着命令窗口了。把以下内容粘贴到文本文件,然后重命名文件为:*.bat执行就好了,
sc create svnserver binpath= "C:\Program Files\S version\bin\svnserve.exe --service --root F:\svn" displayname= "svnserver" depend= tcpip start= auto obj= "NT AUTHORITY\NetworkService"
其中C:\Program Files\S version\bin\svnserve.exe 为svn的路径
F:\svn 为版本库的目录
displayname= "svnserver" 为设置服务的名字
--root 是设置根目录 比如:原来你访问为:svn://localhost/svn 
设置--root F:\svn之后缩写为svn://localhost 这个一定要注意,否则Error: URL 'svn://localhost/svn'doesn't exist

(注意:以上bat文件中的内容不要自动换行,就写在一行里,换行后就可能报错"windows 找不到文件'auto' ")

 

九、使用帮助

 

1.文件夹A点击右键->TortoiseSVN->import到文件夹B时,报错如下,原因:文件夹B不是一个版本库

2..文件夹A点击右键->TortoiseSVN->import到版本库B时,报错如下,原因:版本库B中的conf目录下svnserve.conf文件中,未将# password-db = passwd的注释去掉

posted on 2016-03-01 11:06  wi100sh  阅读(395)  评论(0编辑  收藏  举报

导航