浅见部署 ApacheSVN 服务器的好处

来源:互联网 发布:ib课程网络教学 编辑:程序博客网 时间:2024/04/30 01:59

                     浅见部署 ApacheSVN 服务器的好处

以下内容的必备条件:

安装了 Apache 2.2.21, 安装了 Subversion 服务器程序,TortoiseSVN客户端程序。

我的部署路径是:

Apache 安装目录E:\Soft\Apache Software Foundation\Apache2.2;

Subversion 安装目录E:\Soft\Subversion;

TortoiseSVN 安装目录E:\Soft \TortoiseSVN。

SVN版本库(Repository)的根目录 E:\SVN;

一、创建两个版本库E:\svn\repos1;  E:\svn\repos2。

二、运行独立服务器 (svnserver 服务器)

 运行独立服务器 有两种方式:

1: Subversion中文站的快速入门里地址http://www.subversion.org.cn/?action-viewnews-itemid-1, 这里介绍方式,

使用命令窗口在任意目录下运行:svnserve –d –r E:\svn\repos1,

再开启一个命令窗口svnserve –d –r E:\svn\repos2。

此时这个两个版本库都运行起来,使用TortoiseSVN, Checkout 版本库,在URL of repository 中输入 svn://192.168.56.1/ repos1 (由于我本机的IP是192.168.56.1,此可以在别的电脑上实验,我是在虚拟机里操作的) 会提示错误,正确的URL是svn://192.168.56.1/ ,注意 此时checkout 的是第一个启动的版本库,repos1的内容,如果第一个启动的版本库是repos2, 则checkout 的内容是 是repos2的内容, 总结来说,checkout的是第一个启动的版本库的内容,如果想要checkout另个一个版本库的内容必须将第一个启动的版本库关闭。

如何解决此问题,能在两个版本库同时启动的情况下,能同时checkout出两个两个版本库呢? 看下的方法。

2: 在 《Windows下架设Subversion服务器》这边文章(地址http://indian.blog.163.com/blog/static/10881582007112415021751/)介绍的启动版本库的方式,进入命令窗口在 Subversion 的 Bin 目录 运行命令: svnserve.exe –daemon –roote:\svn。

此时这两个版本库都运行起来了,TortoiseSVN, Checkout 版本库,在URL of repository 中输入 svn://192.168.56.1/repos1,checkout出版本库repos1的内容;输入svn://192.168.56.1/ repos2 ,checkout出版本库repos2的内容。解决上面的问题。

 

如果使用第一种方式运行服务,输入第二种方式的URL:“svn://192.168.56.1/ repos1”,是错误的,反之,如果使用第二种方式运行服务,输入第一种方式的URL:“svn://192.168.56.1/ ”也是错误的。这种情况很可能发生,如果某一天服务器因为某些原因重新启动了,因为某些原因,启动版本库的人使用了另外一个方式运行的版本库。则所有人在使用svn时都提示错误。(当然这种情况很少发生)。

 

当部署了 ApacheSVN服务器,这些问题很好解决,当然 ApacheSVN 服务器 的好处远不止这一点。

 

三、使用ApacheSVN服务器

部署ApacheSVN 服务器比较麻烦,这里不详细说明。

我的Apache\Bin目录下 httpd.conf 文件的文件结尾是如下语句:

<Location/svn>

    DAV svn

    SVNListParentPath on

    SVNParentPath "E:/svn"

</Location>

 

运行Apache 在浏览器输入http://192.168.56.1:8080/svn/repos1/,可以看到如下提示:

repos1 - Revision 0: /

  • ..

说明运行成功.

        部署了ApacheSVN的好处就是:不用像上面的方式,通过Subversion运行的各的版本库,而是通过使用 mod_dav_svn 模块,Apache 直接可以访问版本库,并且可以使客户端使用HTTP 的扩展协议 WebDAV/DeltaV 进行访问,使用 TortoiseSVN, checkout 版本库,在URL of repository 中输入 http://192.168.56.1:8080/svn/repos1,checkout出版本库repos1的内容,输入  http://192.168.56.1:8080/svn/repos1,checkout出版本库repos2的内容。

       这种路径都可以checkout出相应版本库的内容,而不需要使用上面的命令方式运行版本库。但是如果还用svn://192.168.56.1/ repos1 这种路径检出版本库的内容,则要使用上面写的命令的方式运行版本库。

 

原创粉丝点击