1、SVNSubversion详解1 SVN服务器配置下载SubVersion,有安装版和解压缩版设置svn_homebin为path创建资源库,假设资源库为F:SVNRepositoryRootrepository,,则要分两步创建,先mkdir d:svnroot,这个可以使用操作系统命令创建然后用svn命令,svnadmin create F:SVNRepositoryRootrepository配置svn_homeconfsvnserve.conf,启用 anon-access = read,并添加anon-access= write,修改配置文件特别要注意:默认没有anon-access
2、= write,默认时anon-access=read下面是# auth-access = write去掉注释符#后,要使得anon-access顶格,即要去掉前面的空格,否则可能报需要option的错误。当出现目标机器积极拒绝,无法连接或svn: Cant connect to host .时,请依次检查下面各项1,服务器有没有运行,有没有打开相应端口如果服务器是svnserve,检查有没有运行svnserve,有没有打开3690端口如果服务器是apache,检查apahce是否运行,是否打开80端口检查时可以在服务器运行netstat -na看看相应端口是否在LISTEN2,防火墙有没有开
3、放相应端口3,客户端是否可以连接服务器的相应端口使用命令telnet 服务器IP 相应端口如:telnet 192.168.0.1 3690 有效,可测试端口是否打开启动服务,导入导出都是在服务启动后才能使用的。启动服务两种方式:命令窗口,启动后则不能关闭该命令窗口,与Tomcat一样svnserve -d -r F:SVNRepositoryRootrepository设置成Windows服务形式,这中非常好,可以设置随操作系统启动sc create svnserve binPath= E:Program Filessvnbinsvnserve.exe -service -root F:SV
4、NRepositoryRootrepository displayname= Subversion depend= tcpip start= auto导入项目,先在svn资源库中创建对应得虚拟目录,然后导入F:testsvn mkdir -F F:SVNRepositoryRootlog.txt svn:/localhost/testF:testsvn import -f F:SVNRepositoryRootlog.txt svn:/localhost/test 导入时需给出一个记录日志的文件,如上即可,否则正确不能执行该命令。接下来的操作可以用Tortoise或Eclipse插件轻松实现2
5、 权限管理2.1 概念解释比如有两个仓库aa和bb,管理员有两个admin和administrator用户访问控制文件容如下:groupsadmin=admin,administrator /组admin有两个成员admin和administrator/*=r /每个用户都有读权限aa:/ /在仓库aa根目录下admin=r /管理员admin有读权限administrator=rw /管理员administrator有读写权限bb:/ /在仓库bb根目录下admin=r /管理员admin有读权限administrator=rw /管理员administrator有读写权限bb:/db /在
6、仓库bb的db文件目录下admin=rw /管理员组admin有读写权限2.2 详细步骤用SVN(Subversion)取代CVS的呼声越来越高。SVN也确实比CVS优胜很多,没有辜负众望。在日常工作中,如何配置好和利用好SVN,是很值得花些时间去研究研究的。在我应用SVN的这段时间里,更喜欢的是用svnserve加客户端来搭配使用。也就是将svnserve配置成为一个服务端,然后在Windows 下安装个TortoiseSVN 。这是一个不错的搭配选择。1 SVN安装1.1 FreeBSD下安装SVN1.1.1 安装SVN# cd /usr/ports/devel/subversion# m
7、ake NOPORTDOCS=YES -DWITH_SVNSERVE_WRAPPER install clean1.1.2 创建用户# pw useradd -s /bin/sh -d /var/empty -n svn1.2 Linux下安装SVN1.2.1 下载及编译安装SVN# wget subversion.tigris.org/downloads/subversion-1.3.2.tar.bz2# tar -jxvf subversion-1.3.2.tar.bz2# cd subversion-1.3.2# ./configure -with-zlib -enable-all-st
8、atic 1.2.2 创建用户# useradd -d /var/empty svn2 svnserve配置2.1 创建仓库2.1.1 创建仓库存放目录# mkdir -p /opt/svn/repos,etc2.1.2 创建SVN仓库# svnadmin create /opt/svn/repos/source1# svnadmin create /opt/svn/repos/source2# chown -R svn:svn /opt/svn/仓库名称可以根据自己的规划或喜好设定。2.2 配置仓库SVN的svnserve对于每个仓库,有一个独立的配置文件和独立的用户、权限管理。在这里仍然要
9、保持配置文件svnserve.conf的独立,但是用户、权限管理是用统一的一个文件来存储。这样方便以后的管理和维护。另外要注意,即使svnserve服务已经运行,修改配置文件或者用户、权限管理文件,保存后马上生效,不需要重启服务。2.2.1 配置source1仓库进入仓库目录# cd /opt/svn/repos/source12.2.2 修改配置你可以直接删除默认的svnserve.conf文件,然后使用下面的配置:# vi svnserve.confgeneralanon-access = none auth-access = writepassword-db = /opt/svn/etc
10、/svn-user.confauthz-db = /opt/svn/etc/svn-authz.confrealm = My First Repository说明:anon-access = none #不允许匿名用户访问auth-access = write #通过验证的用户可以读和写password-db = /opt/svn/etc/svn-user.conf #用户保存文件authz-db = /opt/svn/etc/svn-authz.conf #权限管理文件realm = My First Repository #仓库名称2.2.3 配置source2仓库# cd /opt/sv
11、n/repos/source22.2.4 修改配置你可以直接删除默认的svnserve.conf文件,然后使用下面的配置:# vi svnserve.confgeneralanon-access = none auth-access = writepassword-db = /opt/svn/etc/svn-user.confauthz-db = /opt/svn/etc/svn-authz.confrealm = My Second Repository如果有更多的仓库,可以类推配置。-svnserve.conf的原始容:# This file controls the configurat
12、ion of the svnserve daemon, if you# use it to allow access to this repository. (If you only allow# access through http: and/or file: URLs, then this file is# irrelevant.)# Visit subversion.tigris.org/ for more information.general# These options control access to the repository for unauthenticated# a
13、nd authenticated users. Valid values are write, read,# and none. The sample settings below are the defaults.# anon-access = read# auth-access = write# The password-db option controls the location of the password# database file. Unless you specify a path starting with a /,# the files location is rela
14、tive to the conf directory.# Uncomment the line below to use the default password file.# password-db = passwd# The authz-db option controls the location of the authorization# rules for path-based access control. Unless you specify a path# starting with a /, the files location is relative to the conf
15、# directory. If you dont specify an authz-db, no path-based access# control is done.# Uncomment the line below to use the default authorization file.# authz-db = authz# This option specifies the authentication realm of the repository.# If two repositories have the same authentication realm, they should# have the same passwor
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1