China Open source community
站内导航:
 
 
 
当前位置: 首页 >> 应用软件 >> 网络相关 >> 版本控制:SubVersion与Apache的整合
 
 

版本控制:SubVersion与Apache的整合

作者:dlxu      来源:http://blog.csdn.net/dlxu     发表时间:2006-12-11     浏览次数:      字号:    

每个项目中,源代码的版本控制是不可少的,不敢想象如果一个没有好的版本控制的项目会是什么样,一定是Source管理异常混乱的那种。常用的版本控制工具以前有2种,分别是微软的VSS,开源的CVS,现在则有了强大的SubVersion。

    以前做项目一般用CVS比较多,毕竟免费么,不过CVS有个比较大的遗憾就是管理文档有点力不从心,特别是文件名或者文件夹名中带有汉字的时候,如果某些汉字的第一个字节的编码正好和CVS中的有些关键字符一致的话,那么就会出现文件夹名乱码的情况,这个情况以前我也被困扰过,后来干脆用了微软的VSS解决掉的。

    VSS管理文档不错,不过由于不支持多用户同时checkout和merge的功能,所以在开发项目中还是觉得有点不便,好像在Visual Studio 2005中附带的VSS可以有支持Merge的功能了,不过自己没有用过,也就不再忘加评论。

    这里着重说一下SubVersion,以前这东西我只是听说过,也从SourceForge上把Spring的最新的源代码给checkout下来过,不过具体怎么建立Subversion还都没有研究过。今天一时兴起,看了帮助文档还有一些资料,成功配置了Subversion,也把Subversion和Apache Server进行了整合。

    首先安装Apache Server,我装的是2.0.59版本的Apache,据说别的低版本的Apache Server可能会运行有问题,不过用这个版本的Apache Server应该比较好。第二安装SubVersion,在Google很快就可以搜索到SubVersion的安装文件下载。先安装好Apache Server 再安装Subversion的话,在SubVersion中就会自动更新Apache Server的httpd.conf配置文件,否则的话,我们需要自己手工修改配置文件,修改如下。

首先需要添加如下两行

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so"

其中,前两行只要把原来注释符号去掉就好了,后面两行subVersion的so文件需要自己手动指定。

然后在Apache的httpd.conf中还要增加如下一段

<Location /svn>
DAV svn
SVNParentPath D:\svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile D:\passwd
Require valid-user
</Location>

其中/svn代表用http的访问路径,D:\svn指定了svn的存放路径,AuthType Basic代表采用Basic方式进行认证,认证的用户名密码文件是D:\passwd ,其中只允许认证的用户才能访问。passwd文件的创建比较简单,利用Apache的bin目录下的htpasswd.exe来生成,比如htpasswd.exe -c passwd xudl这个命令,就会在当前目录下创建一个passwd的文件,其中新建一个用户,用户名是xudl,在后来的命令提示里面会让你输入密码的,等密码得到确认以后,一个passwd文件就完成了。

把刚才的passwd文件复制到D:根目录下,因为在刚才Location中有这么一个配置AuthUserFile D:\passwd,所以把passwd文件放在了相应的位置。

这个时候服务器都配置完毕,开始要导入一个仓库到SVN中了,在命令行下输入

svnadmin create /svn/repos,然后就会建立了一个repos仓库。这个时候用浏览器输入http://127.0.0.1/svn/repos 以后,在正确输入用户名密码以后,就会看到一个SVN的list画面,这个时候仓库是空的,所以一个文件都没有。我们现在开始导入工程,采用如下的命令

svn import . file:///svn/repos --message "Initial repository"

就可以把当前的目录倒入到仓库中了,再用svn co file:///svn//repos    就可以把刚才倒入的souce给重新checkout出来了。

在导入以后再用浏览器访问http://127.0.0.1/svn/repos ,然后就可以看到你刚才checkin的东西了。自此,我们的SubVersion配置初步完成。

编辑 webmaster

 
 
 
评论
 
 
发表
 
姓名: QQ:
性别: MSN:
E-mail: 主页:
评分: 1 2 3 4 5
评论内容:
验证码:
  
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。
  •  
    中国源码网 - WWW.YUANMA.ORG - 中国开放源代码社区