SVN服务器配置详细解说

合集下载

SVN服务器配置说明

SVN服务器配置说明

1、前言花了72小时,终于把 Subversion 初步掌握了。

从一个连“什么是版本控制”都不知道的门外汉,到配置出精确至每目录访问的入门者,中间还卡了一天时间。

其中费了许多气力,摸索实验了多次,还差点放弃了,但是收获是巨大的。

现把我的配置和学习过程写下来,供大家参考,也让初学者少走弯路。

以下仅以 Windows 平台为例讲解,Unix/Linux 平台请参考相关资料。

如其中有谬误的地方,包括错别字,请联系我修订。

技术在分享中进步!2、基本概念2.1、什么是版本控制简单点来说,版本控制就是数据仓库,它可以记录你对文件的每次更改。

这样,就算你在昏天黑地的改了几个月后老板说不要了,还是按照过去那样,你也不会抓狂,简单的恢复版本操作就搞定一切。

2.2、什么是 SubversionSubversion是一个自由/开源版本控制系统,它管理文件和目录可以超越时间。

一组文件存放在中心版本库,这个版本库很像一个普通的文件服务器,只是它可以记录每一次文件和目录的修改,这便使你可以取得数据以前的版本,从而可以检查所作的更改。

从这个方面看,许多人把版本控制系统当作一种“时间机器”。

Subversion可以通过网络访问它的版本库,从而使用户可以在不同的电脑上使用。

一定程度上可以说,允许用户在各自的地方修改同一份数据是促进协作。

进展可能非常的迅速,并没有一个所有的改变都会取得效果的通道,由于所有的工作都有历史版本,你不必担心由于失去某个通道而影响质量,如果存在不正确的改变,只要取消改变。

一些版本控制系统也是软件配置管理(SCM)系统,这种系统经过特定的精巧设计来管理源代码,有许多关于软件开发的特性—本身理解编程语言、或者提供构建程序的工具。

然而,Subversion不是这样一个系统,它是一个通用系统,可以管理任何类型的文件集,对你这可能是源代码,对别人,可能是一个货物报价单或者是书稿等。

2.3、版本库(repository)Subversion 的核心就是 repository ,中文翻译成“版本库”。

SVN使用指南-搭建、配置

SVN使用指南-搭建、配置

SVN学习笔记1.SVN基础知识1.1 checkoutSVN checkout 是从服务器取出数据,并在数据上添加控制。

1.2 修改配置文件修改SVN的配置文件,如用户名,密码后不用重启服务器。

1.3 ExportExport仅仅是是导出数据,是平常的格式,没有控制。

1.4 权限配置SVN1.4权限配置:[/]根目录,[/HR]根目录下HR文件夹,SVN的权限是有了子目录的权限,却不一定有父目录的权限,这次的配置方法跟以前的版本可能不同1.5 import从本地往服务器import数据,如果是导入一个文件夹如A,且A文件夹下有数据,则会导入A文件夹下的数据,而不是导入A文件夹,所以如果要导入一个Jbuilder的项目文件,需要先用一个文件夹把项目多包含一层文件夹后再导入,才能导入项目文件。

1.6 如何删除SVN服务器上的文件:在电脑任意地方右键单击:如下图单击“Repo-Browser”,会出现下图,写出服务器的URL然后出现下图:通过右键菜单即可以做删除了1.7 如何向SVN服务器导入数据选中要导入的文件夹,点击“Import”或者单击下拉框:或者点击右侧的“…”小按钮:出现如下图在服务器URL后写一个要存放上传数据的文件夹(这个文件夹会自动创建),否则会直接在根目录下创建,然后点击OK,出现如下界面,少等一会添加完成2.Jbuilder2006中SVN应用2.1 如何SVN服务器中下载项目从没有安装SVN的机器上下载SVN服务器上的文件选择Subversion后,点击OK按钮:把项目上传到SVN服务器上去3. SVN服务启动3.1 启动一个SVN服务:在任意一个目录下运行svnserve -d -r E:\svn\repository, 我们的服务器程序就已经启动了。

注意不要关闭命令行窗口,关闭窗口也会把svnserve停止建立版本库(Repository)3.2 创建一个版本库(Repository)运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:3.2.1 DOS命令符创建:在任意个命令符下Svnadmin create E:\svndemo\repository,就会在目录E:\svndemo\repository 下创建一个版本库。

SVN搭建参考手册【详细说明+图片】

SVN搭建参考手册【详细说明+图片】

SVN搭建参考手册【详细说明+图片】一、SVN 服务器和客户端安装安装服务器程序运行服务端程序VisualSVN-Server-1.6.4.msi,根据提示安装即可,这样我们就有了一套在服务器端运行的环境。

安装客户端程序TortoiseSVN运行TortoiseSVN-1.6.4.16808-win32-svn-1.6.4.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。

安装客户端语言包运行LanguagePack_1.6.4.16808-win32-zh_CN.msi注意:上述服务端和客户端程序均为开源软件,在使用过程中注意两者版本的统一二、SVN 创建版本库多库管理模式SVNROOT为版本库的根目录,wendang为文档管理版本库、sourcecode为为各系统代码管理版本库。

VisualSVN-Server提供了一个可视化的控制台,通过它我们可以方便的完成版本库的创建和权限的分配工作。

1. 启动VisualSVN Server Manager,在VisualSVN Servers上右键选择Properties2. 在弹出的界面上设置版本库的根位置,设置完毕后会重新启动相关服务3. 在VisualSVN Servers上右键选择Creat New repository ,创建新的版本库,并在文本框中输入库名称上图中的CheckBox如果选中,则在库test下面会创建trunk、branches、tags 三个子目录;不选中,则只创建空的版本库test。

(注:VisualSVN Server Manager不支持对目录下文件的创建和删除操作,这项工作需要借助Tortoise SVN来完成)三、SVN 安全配置用户设置1. 启动VisualSVN Server Manager,右键点击界面上的Users文件夹,选择create user2. 在弹出的Users设置界面上添加新的用户和密码用户组设置1. 在VisualSVN Server Manager上右键点击界面上的Groups文件夹,选择create Group2. 在弹出的Gruop设置界面上添加新的组和组成员安全性设置1. 在版本库中选择一个库,右键选择Properties2. 点击上图中的"Add..."按钮,在下图中选择我们刚才添加的用户,点击OK按钮3. 按照下图所示,分别对用户或组进行授权在线修改密码1. 在安装目录(如C:\Program Files\VisualSVN Server\)的bin文件夹下增加alias.so、mod_cgi.so两个文件2. 在安装目录中增加cgi-bin文件夹,其中包含svnpass、svnpass.ini两个文件,修改svnpass.ini中pwdFilePath地址的指向为版包库中密码存放的文件,例如:pwdFilePath=D:\Repositories\htpasswd3. 修改安装目录中conf文件夹中的httpd-custom.conf,增加如下内容:LoadModule alias_module bin/mod_alias.soLoadModule cgi_module bin/mod_cgi.so<IfModule alias_module>ScriptAlias /cgi-bin/ "C:/Program Files/VisualSVN Server/cgi-bin/"</IfModule>4. 修改安装目录中htdocs文件夹的部分内容注意:上述所需文件参见SVN中相关附件5. 用户通过URL访问版本库,在验证通过后就能完成密码的在线修改四、SVN 备份恢复机制出于资源安全性考虑,为了防止由于配置管理服务器硬件或者软件故障,而导致配置库资源丢失且无法恢复的情况发生,需要对配置库资源进行定期的备份。

SVN入门及配置使用

SVN入门及配置使用

SVN服务器端配置1、到svn官方网站/下载服务器安装包svn-win32-1.6.1.zip,将该压缩包解压到D:\subversion目录下,出现D:\subversion\bin。

建立D:\svn,在命令行该目录(D:\subversion\bin\)下输入svnadmin create D:/svn/repos1,如果创建成功,D:\svn下将会多一个repos1目录。

2、让svnservice服务随Windows系统一起启动,在命令行下输入:sc create svnservice binPath= "\"D:\subversion\bin\svnserve.exe\" --service -r D:\svn" start= auto3、权限配置:在进行权限配置前,所有的用户都能进行任何操作,在很多情况下是不允许的。

在创建仓库时,仓库目录(如:D:\svn\repos1)下都会生成好几个文件夹,其中conf里面存储的是配置信息,包括三个文件:authz:访问权限配置passwd:用户名和密码配置svnserve.conf:基本配置信息⑴先配置svnserve.conf,将里面几项配置前的注释去掉,最后的内容如下:[general]#anon-access = read#auth-access = writepassword-db = passwdauthz-db = authz这些参数的含义文件里都有详细说明,其中,anon-access和auth-access分别是对匿名用户以及认证用户的访问控制,password- db指明用户密码文件路径,authz-db指明权限配置文件路径。

另外还有一个参数realm用于指明仓库所属的认证域,默认情况下每个仓库位于不同的域(每个仓库有一个唯一的uuid),因此我们可以不设置该项,除非多个仓库需要共用同一份passwd配置。

Linux下SVN服务器的搭建与配置

Linux下SVN服务器的搭建与配置

Linux下SVN服务器的搭建与配置下载最新的svn压缩包/downloads/subversion-1.4.5.tar.gz//解压SubVersion安装包(root用户进行下面的操作) # tar xvzf subversion-1.4.5.tar.gz //进入解压后的目录# cd Subversion-1.4.5//配置subversion安装#./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion--with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl --with-zlib--enable-maintainer-mode# make//安装# make install//创建库文件所在的目录(svnroot用户进行下面的操作)# mkdir /home/svnroot/repository//进入subversion的bin目录# cd /usr/local/subversion/bin//创建仓库"test"# ./svnadmin create /home/svnroot/repository/test# cd /home/svnroot/repository/test//看看是不是多了些文件,如果是则说明Subversion安装成功了# ls –l# cd /usr/local/subversion/bin//这条语句将把路径/home/user/import下找到的文件导入到你创建的Subversion 仓库中去,//提交后的修订版为1。

# ./svn import /home/user/import file:///home/svnroot/repository/test –m "注释"//不让其他人有该目录的权限# chmod 700 /home/svnroot/repository修改Apache配置文件# cd /usr/local/apadche2/bin//启动Apache# ./apachect1 start# vi /usr/local/apache2/conf/httpd.conf//在最下面添加LoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so<Location /svn>DAV svnSVNParentPath /home/svnroot/repository/ //svn父目录AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件AuthType Basic //连接类型设置AuthName "Subversion.zoneyump" //连接框提示AuthUserFile /home/svnroot/repository/authfile //用户配置文件Require valid-user //采用何种认证</Location>//其中authfile是通过"htpasswd [–c] /home/svnroot/repository/authfile username pass word"来创建的//"Require valid-user"告诉apache在authfile中所有的用户都可以访问。

SVN服务端的配置

SVN服务端的配置

SVN服务端的配置1.SVN服务端的配置:安装subversion,我选择的是svn-1.4.1-setup.exe进行安装,安装到D:/Subversion2.创建SVN存储库(repository)也就是建立版本库,我建立的是多库,先在D盘建立一个文件夹SVNROOT然后在这个文件夹里建立版本库,我首先创建一个版本库的名称为:工作文档建立版本库的方法:输入DOS命令:svnadmin create D:/SVN/工作文档repository创建完毕后会在目录下生成若干个文件和文件夹,dav目录是提供Apache 与mod_dav_svn使用的目录,让它们存储内部数据;db目录就是所有版本控制的数据文件;hooks目录放置hook脚本文件的目录;locks用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端;format文件是一个文里面只放了一个整数,表示当前文件库配置的版本号。

3.配置SVN服务器配置服务器的地方就是你所建立版本库的地方F:/SVNROOT/工作文档。

打开/conf/目录,打开svnserve.conf找到下面的句子:[general]# password-db = passwd# anon-access = none# auth-access = write# authz-db = authz# realm = My First Repository去之每行开头的#,其中第二行是指定身份验证的文件名,即passwd文件.a access = none 是匿名用户不能访问,必须要有用户名和密码。

(注意:问这,一定要注意格式去掉注释后要顶格不能有空)同样打开passwd文件,将# harry = harryssecret# sally = sallyssecret格式为“用户名 = 密码”,如可插入一行:mm = mm,即为系统添加一个mm,密码为mm的用户. (注意顶格写不要有空隙)。

svn服务端配置

svn服务端配置

配置svn 服务端及客户端(win)一、VisualSVN Server的配置和使用方法【服务器端】安装好VisualSVN Server后【安装过程看这里】,运行VisualSVN Server Manger,下面是启动界面:好的,下面我来添加一个代码库【Repository】,如下图:按上图所示,创建新的代码库,在下图所示的文本框中输入代码库名称:注意:上图中的CheckBox如果选中,则在代码库StartKit下面会创建trunk、branches、tags三个子目录;不选中,则只创建空的代码库StartKit。

点击OK按钮,代码库就创建成功了。

创建完代码库后,没有任何内容在里面。

我会在这个教程的第二部分说明如何迁入源代码。

下面,我们开始安全性设置,在左侧的Users上点击右键:输入上面的信息,点击OK,我们就创建一个用户了。

按照上面的过程,分别添加用户Developer1、tester1、manager1,好了,我们开始添加这些用户到我们刚才创建的项目里:点击上图中的"Add..."按钮,在下图中选择我们刚才添加的用户,点击OK按钮:说明:大家可能注意到了下图中的Groups,是的,你也可以先创建组,把用户添加到各个组中,然后对组进行授权,操作比较简单,在此略过。

按照下图所示,分别对用户【或组】进行授权:点击"确定"按钮,上面的用户就具有了访问StartKit代码库的不同权限。

因为用户starter在团队中是新来者,不希望他向代码库中提交新代码,所以他只能读取代码库中的代码,不能提交代码。

tester1是测试人员,不负责代码编写,所以也是只读权限。

而Developer1和manager1是开发人员和项目经理,自然具有读、写的权限。

在实际的项目开发过程中,Developer和tester往往不可能只有一个人,这时候使用组来授权更加方便,这个大家可以自己练习一下。

Svn服务器搭建简单教程

Svn服务器搭建简单教程

Svn服务器搭建简单教程SVN(Subversion)是一个开源的版本控制系统,适用于管理项目的源代码、文档和其他文件的历史记录。

它是一个集中式系统,允许多个开发者同时修改和协作。

下面是一个简单的教程,说明如何搭建一个SVN服务器。

1.安装SVN服务器软件2.创建SVN仓库在安装完SVN服务器软件后,需要创建一个新的SVN仓库来存储项目的源代码和文件。

打开命令提示符窗口,进入一个合适的目录,并使用以下命令创建一个SVN仓库:```svnadmin create <repository_name>```这将在当前目录下创建一个名为repository_name的目录,作为SVN 仓库。

3.设置访问权限```anon-access = noneauth-access = write```这将允许只有已授权的用户才能访问SVN仓库。

4.创建用户和密码文件在仓库的conf子目录中,还需要创建一个passwd文件来存储用户和密码。

可以使用htpasswd等工具来创建。

在命令提示符窗口中运行以下命令:```htpasswd -cm passwd <username>```这将提示输入用户的密码,并将用户和密码添加到passwd文件中。

可以重复此命令来添加更多的用户。

5.启动SVN服务器切换到SVN仓库所在的目录,并使用以下命令启动SVN服务器:```svnserve -d -r <repository_path>```其中,repository_path是SVN仓库的路径。

这将启动一个SVN服务器进程,并监听3690端口。

6.使用SVN客户端连接服务器在主机上安装一个SVN客户端软件(例如TortoiseSVN),并启动。

右键单击想要将其拷贝到本地的目录,并选择“SVN Checkout”选项。

在URL字段中输入以下URL,并点击“OK”:```svn://<server_ip>/<repository_name>```其中,server_ip是运行SVN服务器的主机的IP地址,repository_name是之前创建的SVN仓库的名称。

SVN配置

SVN配置

一. 安装服务器(Windows)1.解压假设解压到F:\svn解压后文件列表如下:2.设置环境变量添加SVN_HOM=F:\svn设置PATH=%SVN_HOME%\bin添加SVN_EDITOR=notepad.exe3.创建仓库使用svnadmin create 仓库绝对路径命令svnadmin create F:\svn\svn_repository该命令会在F:\svn\svn_repository生成一些目录和配置文件4.修改配置文件到F:\svn\svn_repository目录下passwd文件–/conf目录下用于存放本svn库的用户名和密码,用= 分割,如:用户名= 密码;左边是用户名,右边是密码(明文)。

authz –/conf目录下用于存放本svn库的访问授权信息。

svnserve.conf — /conf目录下用于存放本svn库的全局访问控制信息用文本编辑器打开svnserve.conf加上两句[general]password-db = passwd打开同目录下同目录的passwd文件(设置用户密码)加上svnadmin = adminuser = user打开同目录的authz文件,它定义了两部分的内容:1,对组成员的定义,2,对目录的授权定义,可以针对一个单一用户授权,也可以针对在[groups]里面定义的一个组授权,还可以用*通配符来对所有的用户授权,授权的选项有:只读访问(‘r’),读写访问(‘rw’),或者无权防问(”).加[/]svnadmin,user = rw二.启动svnserve -d -r 项目主目录绝对路径svnserve -d -r F:\svn\svn_repository服务器已启动三.安装SVN客户端1.安装2.连接SVN服务器安装完毕后任意位置右键弹出菜单,如下图选择将列出选择URL填svn://127.0.0.1点击OK按钮这就是我建立的资源仓库文件树3.上传文件至资源库选中要上传的内容的父文件夹右键该文件夹选择选择点击OK要求输入用户名密码将刚才在passwd文件定义的用户名密码填入点击OK参考第2步的描述即可查看上传到资源库的文件三.从服务器检出文件到本地任意位置新建文件夹,假设在桌面建立project文件夹右键该文件夹选择点击OK文件已检出到project打开project文件夹四.备份运行命令:svnadmin dump 要备份资源库绝对路径>备份目的地文件绝对路径五.恢复创建恢复目的资源库:svnadmin create 资源库绝对路径恢复到资源科:svnadmin load 目标资源库绝对路径<备份文件。

SVN服务器简介、配置实例

SVN服务器简介、配置实例

SVN服务器简介、配置实例 SVN简介: 在⽇常开发中,⼀定是多⼈进⾏开发,那么就会造成代码重合的现象,SVN就是解决这种⽭盾的冲突,SVN是从Linux下产⽣的⼀款C/S模式的软件版本控制⼯具。

但是SVN的缺点就是,需要⽹络的⽀持才可以使⽤。

配置SVN环境 下载下来的安装包在windows下⼀键安装就可以了。

svn服务器安装完成之后,我这⾥安装到了D盘下⾯。

SVN服务器安装完成之后,由于最初的SVN是从linux上发展⽽来,所以是没有图形化界⾯的。

⽽关于svn的操作命令都存放在了svn安装路径下⾯的bin⽬录⽂件夹⾥⾯,例如D:\development_install\Subversion\bin我的这个路径。

所以还需要将这个⽂件地址配置到系统的环境变量path中。

打开:控制⾯板\系统和安全\系统\⾼级系统设置 在系统中配置好svn的环境变量之后,通过 win + R 快捷键打开,输⼊cmd,在弹出的窗⼝中输⼊命令: svn --version :查看svn的版本信息 svn --version --quiet :只查看版本号 如果有则表⽰现在的svn服务器就已经成功的配置安装成功了。

svn服务器提供的是⼀个平台,那在这个平台中可以随意创建⾃⼰的项⽬。

要想存放⾃⼰的项⽬代码,就必须有⼀个⽂件夹来存放,我这⾥现在在E盘下⾯创建了⼀个svn_pro_space 创建好⽬录之后,要想此⽬录为svn可⽤的⽬录,还需要使⽤svn命令在此⽬录中⽣成⼀些配置⽂件。

使⽤cmd进⼊E盘,输⼊ svnadmin create E:\svn_pro_space 之后在创建的⽬录中就可以看到如下信息,此时还不能使⽤,在conf⽬录下有三个配置⽂件:authz、passwd、svnserver.conf 。

需要修改之后才可以使⽤。

authz:配置⽤户权限 paswd:配置⽤户和密码 svnserver.conf:主要是打开授权⽂件和密码⽂件的使⽤(authz、passwd)。

svn配置详解(图例)

svn配置详解(图例)

Svn 一.S vn应用场景Svn是一个版本控制器,负责协同工作。

二.svn原理图解二.S vn安装1.版本Svn版本:Setup-Subversion-1.6.5.msi 2.检查svn是否安装成功命令:svn –version,svnadmin –version Java:java –version如果说没有反应检查环境变量是否配置●创建仓库命令:svnadmin create F:\repository\svn\oa创建成功后目录结构:●使用命令启动服务单仓库启动检查单仓库是否启动成功命令:netstat –an :检查3690端口是否被占用,如果说这个端口被占用,表示启动成功。

启动多仓库命令构造:svnserve-d:表示程序在后台运行-r:表示根目录检出代码出现错误:服务没有启动检查代码成功:提交commit: 出现错误:原因是svn需要指定版本信息,这个信息是帮助别人理解你提交的代码。

提交成功:但是理论上一般建议写双引号。

更新:update命令:svn update 文件名注册Windows服务sc create SVN-Service binpath= "D:\Program Files\Subversion\bin\svnserve.exe --service -r D:\repository\svn" displayname= "SVN-Service" start= auto depend= Tcpip三.图形化界面1.安装TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi第一次环境变量自动配置,如果安装过再次安装,需要删除以前配置的环境变量2.使用图形化界面来创建仓库3.检出这是svn权限问题:需要配置一下权限Svn权限配置问题:配置用户名密码:配置权限:配置单仓库:配置多仓库:。

svn 服务器配置

svn 服务器配置

SVN服务器配置软件下载服务器和客户端安装建立版本库(Repository)配置用户和权限运行独立服务器初始化导入基本客户端操作1,软件下载下载Subversion服务器程序。

到官方网站的下载二进制安装文件,来到二进制包下载部分,找到 Windows NT, 2000, XP and 2003部分,然后选择" this directory ",这样我们可以看到许多下载的内容,目前可以下载 svn-1.4.0-setup.exe 。

下载Subversion的Windows客户端TortoiseSVN。

TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。

官方网站是TortoiseSVN ,下载方式和前面的svn服务器类似,在Download页面的我们可以选择下载的版本,目前的最高稳定版本的安装文件为TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi。

2,服务器和客户端安装服务器安装,直接运行svn-1.4.0-setup.exe ,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。

安装TortoiseSVN,同样直接运行TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。

3,建立版本库(Repository)运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:svnadmin create E:\svndemo\repository就会在目录E:\svndemo\repository 下创建一个版本库。

SVN服务器搭建和配置

SVN服务器搭建和配置

SVN服务器搭建和配置一、SVN服务器搭建1、安装Subversion(2)安装Subversion将subversion-1.2.3.tar.gz和zlib-1.2.3.tar.gz文件上传至服务器,在命令行窗口执行以下命令:# tar zxvf zlib-1.2.3.tar.gz# cd zlib-1.2.3# ./configure# make# make install# tar zxvf subversion-1.2.3.tar.gz# cd subversion-1.2.3# ./configure --with-zlib=/usr/local/zlib-1.2.3# make# make install上述步骤完成后,Subversion已经成功安装到服务器上。

2、搭建Subversion服务器(1)创建版本库创建一个名为repos的版本库,使用以下命令:# svnadmin create /data/svn/repos上述命令会生成以下文件夹:/data/svn/repos/ archivesconf db hooks locks README.txt(2)配置svnserve.conf[general]anon-access = noneauth-access = writepassword-db = passwdrealm = My First Repository(3)配置passwd文件vi /data/svn/repos/conf/passwd,输入以下内容:[users]username = password(4)启动svnserve使用以下命令启动svnserve:# svnserve -d -r /data/svn/repos此时,Subversion服务器已经搭建完成,可以使用它进行版本控制了。

二、SVN服务器配置1、Apache + SVN(1)配置ApacheApache的安装及配置不在本文讨论范围内,读者可以参照我们其他文章。

svn服务端配置

svn服务端配置

Svn服务端配置说明1、环境Os:winxp服务端:Subversion-1.6.0客户端:TortoiseSVN-1.6.102、svn服务端安装3、Svn脚本文件配置版本库可以看作是服务器上存放和管理数据的地方。

在一个干净、空间较大的磁盘上建立空文件夹:svn.,比如E:\svn,作为存放所有版本库的根目录。

在命令行切换到Subversion下的bin目录。

输入命令:svnadmin create E:\svn\reposl,此命令在E:\svn目录下生成一个版本库reposl,reposl下自动生成一些文件和文件夹。

4、svn运行服务检测输入命令:svnserve -d -r e: \ svn。

注意不要关闭命令行窗口使用TortoiseSVN 客户端->Repo-browser 查看版本库,在URL中输入svn://localhost/reposl可以看到reposl的目录结构,则Subversio工作正常。

5、svn自动启动服务配置在命令窗口输入以下命令,则SVN可随windows同时启动sc create svnservice binpath= "D:\Subversion\bin\svnserve.exe --service -r E:\svn\reposl" displayname= "SVNService" depend= T cpip start= auto注:svnservice为自动启动的服务名称D:\Subversion\bin为svn服务端安装的位置E:\svn\reposl 为脚本文件所在目录。

创建的自动服务测试还没有启动,需要通过启动命令启动一下。

6、svn 自动服务启动、停止、删除(A) 启动服务:“net start svnservice"。

注:svnservice 为自动服务的名称。

(B) 停止服务:"net stop svnservice"(C) 删除服务:”sc delete svnservice”注:如果服务安装的有问题,你可能需要删除服务,svnservice 为自动服务的名称7、Svn用户权限配置(A)修改修改E:\svn\reposl\conf下svnserve.conf 文件,修改内容如下将# password-db = passwd# authz-db = authz# anon-access = read# auth-access = write改为password-db = passwdauthz-db = authzanon-access = noneauth-access = write注意前面不能有空格(B)修改同目录下的passwd的文件,修改源文件为下:users]#harry = harryssecret#sally = sallyssecrettest = testaa = aabb = bb注:此处增加了一个新用户test,密码test 还可以添加更多的用户,用户名前面不能有空格(C)在authz文件中增加内容,如下:[groups]# harry_and_sally = harry,sally# harry_sally_and_joe = harry,sally,&joe[/]* = rg_use1 = aa,bbg_use2 = ccg_admin = test注:给用户分组[/tes1/1] 注:以下用户可以访问的目录配置[/ ]代表所有的目录都可以访问@g_use1 = rw,可以分配给组aa = rw,也可以分配给用户注:rw代表此用户拥有读写权限。

svn配置审计方案 -回复

svn配置审计方案 -回复

svn配置审计方案-回复SVN(Subversion)是一个开源的版本控制系统,广泛应用于软件开发项目中,用于管理和跟踪源代码的变更。

在大型团队或组织中使用SVN 时,配置审计是必不可少的安全措施。

本文将详细介绍SVN配置审计方案,从配置文件、访问权限、操作日志等多个方面进行逐步解答。

第一步:配置SVN服务器1. 安装SVN服务器软件根据操作系统的不同,选择适合的SVN服务器软件进行安装。

常见的SVN服务器软件有Apache Subversion(简称Apache SVN),VisualSVN Server等。

安装过程中需要注意选择合适的版本和相关选项。

2. 配置SVN服务器在安装完SVN服务器软件后,需要进行相关配置。

主要包括创建SVN 仓库、设置仓库访问权限、配置用户和组等。

这些配置可通过命令行工具或可视化界面进行操作。

第二步:设置访问权限1. 创建用户和组为了管理SVN仓库的访问权限,首先需要创建用户和组。

用户可以单独访问SVN仓库,而组则可一次为多个用户设置权限。

在创建用户和组时,应该分配合适的用户名和密码,并为用户和组创建唯一的标识符。

2. 配置访问权限文件SVN使用访问权限文件(authz file)来控制用户和组对仓库的访问权限。

在访问权限文件中,可以根据用户或组的不同设定读写权限、只读权限、拒绝访问等。

对于敏感信息或关键业务代码,应该设定严格的权限,只允许特定的用户或组进行访问。

3. 配置SSL加密为了确保数据传输的安全,可以配置SVN服务器支持SSL加密。

SSL 证书可用于验证服务器和客户端之间的身份,并加密传输的数据。

通过配置SSL加密,可以防止未经授权的访问和数据窃取。

第三步:配置操作日志1. 启用SVN服务器的日志功能SVN服务器会记录用户对仓库的操作日志。

为了审计仓库的变更,需要启用日志功能。

具体的配置方法或命令将根据使用的SVN服务器软件而有所不同。

2. 配置日志格式可以配置日志的格式,以便更好地呈现和分析日志信息。

SVN服务器安装及配置说明

SVN服务器安装及配置说明

Windows下安装Apache2.2.x一、软件准备Apache 官方下载地址:apache_2.2.4-win32-x86-no_ssl.msi(/apache/httpd/binaries/win32/apache_2.2.4-win32-x86-no_ssl.msi)注意:Windows 平台上Apache 的安装大同小异,下面的内容适用于Apache 2.2.0 ~ 2.2.11 版本。

二、开始安装双击“apache_2.2.4-win32-x86-no_ssl.msi”开始安装。

出现Windows 标准的软件安装欢迎界面,见图1。

图1 欢迎界面直接点“Next”继续,出现授权协议,见图2。

图2 授权协议选择“I accept the terms in the license agreement”同意授权协议,然后点“Next”继续,出现安装说明,见图3。

图3 安装说明直接点“Next”下一步,出现填写信息界面,见图4。

图4 填写信息“Network Domain”填写你的网络域名,比如 ,如果没有网络域名,可以随便填写。

但如果你架设的Apache 服务器如果要放入Internet ,则一定要填写正确的网络域名。

在“Server Name”下填入你的服务器名,比如,也就是主机名。

“Administrator's Email Address”填写系统管理员的联系电子邮件地址,比如indian@ 。

上述三条信息仅供参考,其中联系电子邮件地址会在当系统故障时提供给访问者,三条信息均可任意填写,无效的也行。

下面有两个选择,第一个是为系统所有用户安装,使用默认的80端口,并作为系统服务自动启动;另外一个是仅为当前用户安装,使用端口8080,手动启动。

一般选择第一个“for All Users, on Port 80, as a Service –Recommended”。

我选的是第二个“only for the Current User, on 8080, when started Manually.”,用8080端口并且手动启动,如图4所示。

51CTO下载-SVN服务器搭建和配置

51CTO下载-SVN服务器搭建和配置

SVN服务器搭建和配置使用详解SVN服务器搭建和使用(一)Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器.现在Subversion已经迁移到apache网站上了,下载地址:/packages.html这是二进制文件包的下载地址,你可在左侧的导航栏找到源代码,文档的下载地址. windows操作系统下面的二进制文件包一共有5种,如图:个人认为最好用VisualSVN server 服务端和TortoiseSVN客户端搭配使用.点开上面的VisualSVN连接,下载VisualSVN server,如图:然后下载TortoiseSVN客户端,官网下载地址:/downloads.html注意下载跟你电脑匹配的安装包,在页面的下面你还可以找到语言包,如图:下载完成后,应该有这些安装包,如图:TortoiseSVN安装包和简体中文语言包VisualSVN server安装包先安装VisualSVN server的安装包,双击VisualSVN server安装包,如图:点Next,进入下一步,如图:点同意,进图下一步,如图:选择上面一个选项,点Next,进入下一步,如图:Location是指VisualSVN Server的安装目录,Repositorys是指定你的版本库目录.Server Port指定一个端口,Use secure connection勾山表示使用安全连接,Use Subversion authentication 表示使用Subversion自己的用户认证.点击Next,进入下一步,如图:点Install,进入下一步,如图:等待安装完成,如图:安装完成后,启动VisualSVN Server Manager,如图:接下来我们安装TortoiseSVN,双击安装包,进入下一步.如图:点击Next,进入下一步,如图:选择接受,然后点击Next,进入下一步,如图:选择安装路径,然后点击Next,进入下一步,如图:点击Install,开始安装,如图:等待安装完成,安装完成后如图:接下来我们安装简体中文语言包,这个非常简单,一路Next就行,就不截图了.语言包安装完成以后在桌面任意空白地方单击鼠标右键,会在右键菜单里找到SVN,如图:选择设置,进入下一步,如图:在右边的语言里面选择简体中文,然后点击应用,确定,汉化即完成,如图:到这里,服务端和客户端都已经安装完毕,下一篇介绍用VisualSVN Server创建版本库,以及TortoiseSVN的使用.SVN服务器搭建和使用(二)上一篇介绍了VisualSVN Server和TortoiseSVN的下载,安装,汉化.这篇介绍一下如何使用VisualSVN Server建立版本库,以及TortoiseSVN的使用.首先打开VisualSVN Server Manager,如图:可以在窗口的右边看到版本库的一些信息,比如状态,日志,用户认证,版本库等.要建立版本库,需要右键单击左边窗口的Repositores,如图:在弹出的右键菜单中选择Create New Repository或者新建->Repository,进入下一步:输入版本库名称,勾上Create default structure复选框(推荐这么做).点击OK,版本库就创建好了,版本库中会默认建立trunk,branches,tags三个文件夹,如图:这时候我们将项目导入到版本库中,找到你的项目文件夹,在项目文件夹上点击鼠标右键,找到SVN菜单,选择导入,如图:在弹出的对话框中填上版本库URL,这个URL可以从VisualSVN Server Manager中获取,在你的版本库上单击右键,选择Copy URL to Clipboard,这样就把版本库URL复制到你的剪贴版了.如图:将复制的版本库URL粘贴上,在URL后面加上trunk子路径.然后在导入信息里面填上导入信息"导入项目到版本库".如图:点击确定,所选中的项目就会被导入到版本库中.如图:项目导入到版本库以后,不能随便让谁都能够读写版本库,所以需要建立用户组和用户.在VisualSVN Server Manager窗口的左侧右键单击用户组,选择Create User或者新建->User,如图:在弹出的对话框中填写User name和Password,然后点击OK,如图:用相同的方式分别创建用户Develpoer1,Develpoer2,Develpoer3,Test1,Test2,Manger六个用户,分别代表3个开发人员,两个测试人员和一个项目经理,如图:然后我们建立用户组,在VisualSVN Server Manager窗口的左侧右键单击用户组,选择Create Group或者新建->Group,如图:在弹出窗口中填写Group name为Developers,然后点Add按钮,在弹出的窗口中选择三个Developer,加入到这个组,然后点Ok,如图:用相同的方式创建组Managers,Testers,如图:接下来我们给用户组设置权限,在MyRepository上单击右键,选择属性,如图:在弹出的对话框中,选择Security选项卡,点击Add按钮,选中Developers,Managers,Testers三个组,然后添加进来,给Developers,Managers权限设置为Read/Write,Tester权限设置为Read Only,如图:到此,服务端就完成了.接下来,我们用客户端去检出代码,在桌面空白处单击右键,选择SVN检出,在弹出的对话框中填写版本库URL(具体获取方式,上面讲上传项目到版本库的时候讲过),选择检出目录,点击确定.如图:开始检出项目,如图:检出完成之后,我们打开工作副本文件夹,会看到所有文件和文件夹都有一个绿色的√.如图:至此,创建版本库和使用TortoiseSVN导入项目,检出项目已经介绍完毕.SVN服务器搭建和使用(三)接下来,试试用TortoiseSVN修改文件,添加文件,删除文件,以及如何解决冲突等.添加文件在检出的工作副本中添加一个Readme.txt文本文件,这时候这个文本文件会显示为没有版本控制的状态,如图:这时候,你需要告知TortoiseSVN你的操作,如图:加入以后,你的文件会变成这个状态,如图:这时候使用TortoiseSVN进行提交.这样别人就能看到你所做的更改了,如图.修改文件使用TortoiseSVN更新,修改工作副本中的Readme.txt文件,加入"hello world!",然后保存,你会发现Readme.txt文件的图标改变了,如图:这个红色的叹号代表这个文件被修改了,这时候,提交更改,其他人即可看到你的更改.重命名文件使用TortoiseSVN更新,重命名工作副本中的Readme.txt文件为"Readme1.txt',然后保存,你会发现Readme.txt文件的图标改变了,如图:更添加文件一个道理,这时候你需要告诉TortoiseSVN你的操作,如图:加入以后,提交,这时候版本库中的Readme.txt文件将会被重命名为"Readme1.txt".删除文件使用TortoiseSVN更新,使用TortoiseSVN删除工作副本中的Readme.txt文件,然后提交,版本库中的相应文件即被删除掉了,如图:强制写注释为了以后你能更清晰的看到你所做的每一次更改的原因,你在每次提交的时候应该写上注释,而且尽量详细.如图:但是,可能有的人因为觉得太繁琐,而不填写注释,这不利于以后的版本控制,可以将强制在提交的时候写注释,首先单击右键,选择TortoiseSVN->属性,如图:在弹出的对话框中,点击新建->日志大小,设置提交日志的最小字符数和锁定日志的最小字符数为20,提交文本框中显示边线的字符位置设置为100,点击确定,如图:提交,以后再次提交的时候,如果输入的注释少于20个字符,将无法提交.冲突解决冲突问题是最常见的问题,它是这样产生的,A用户check out了一个工作副本A,接着B用户又check out了一个工作副本B.然后A用户对副本A中的文件C做了修改(可以是内容修改,文件删除,重命名,以及位置移动),并且提交.这时候B用户也对文件C的相同部分做了修改,这时候如果B用户进行提交,会先被告知版本过时,要求更新,然后更新的时候会提示冲突了,这时候可以用冲突编辑器进行手动选择.TortoiseSVN客户端重新设置用户名和密码在第一次使用TortoiseSVN从服务器CheckOut的时候,会要求输入用户名和密码,这时输入框下面有个选项是保存认证信息,如果选了这个选项,那么以后就不用每次都输入一遍用户名密码了。

svnserver配置文件详解和如何设置svn服务器端的服务开机启动

svnserver配置文件详解和如何设置svn服务器端的服务开机启动

svnserver配置文件详解和如何设置svn服务器端的服务开机启动如何设置svn服务器端的服务开机启动启动subversion的服务可以通过两种方式来完成1.第一种手动输入cmd命令,svn服务端软件服务的启动可以通过cmd命令来启动,定位到subversion的安装目录,我的机器是C:\Program Files\Subversion\bin, 输入命令svnserve –d –r D:\svndemo,其中D:\svndemo是svn数据仓库的目录。

2.第二种把subversion的服务添加到windows服务,作为开机自动启动的服务,同样可以通过cmd命令来完成,命令如下:sc create svn binpath= "\"D:\Program Files\Subversion\bin\svnserve.exe\" --service -r D:\svndemo" displayname= "Subversion Server" depend= Tcpip start= auto,其中"binpath="后面跟的是subversion 的安装目录,--service -r后面的参数是数据仓库的路径。

通过这种方式就把subversion的服务作为windows自启动的服务了。

接下只要重启服务器就可以了,服务器端的subversion的服务就可以开始运行了.svnserver配置文件详解svnserve是SVN自带的一个轻型服务器,客户端通过使用以svn://或svn+ssh://为前缀的URL来访问svnserve服务器,实现远程访问SVN版本库。

svnserve可以通过配置文件来设置用户和口令,以及按路径控制版本库访问权限。

本文详细分析了svnserve配置文件格式,并说明如何使用配置文件控制版本库访问权限。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SVN精细权限控制原文链接:/ayifa/blog/item/a7708c1885c221b54bedbc40.html本章将详细介绍前一章所涉及的两个配置文件, svnserve.conf 和 authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义。

除此之外的其他配置、安装等内容,不是本文重点,读者若有什么疑问,请参考后面“参考文献”中列出的一些文档。

这里首先要注意一点,任何配置文件的有效配置行,都 “不允许存在前置空格” ,否则程序可能会出错,给你一个 “Option expected”的提示。

也就是说,如果你直接从本文的纯文本格式中拷贝了相关的配置行过去,需要手动将前置的4个空格全部删除。

当然了,如果你觉得一下子要删除好多行的同样数目的前置空格是一件苦差使,那么也许 UltraEdit 的“Column Mode”编辑模式,可以给你很大帮助。

svnserve.conf“arm\conf\svnserve.conf” 文件,是 svnserve.exe 这个服务器进程的配置文件,我们逐行解释如下。

首先,我们告诉 svnserve.exe,用户名与密码放在 passwd.conf 文件下。

当然,你可以改成任意的有效文件名,比如默认的就是 passwd:password-db = passwd.conf接下来这两行的意思,是说只允许经过验证的用户,方可访问代码库。

那么哪些是“经过验证的”用户呢?噢,当然,就是前面说那些在 passwd.conf 文件里面持有用户名密码的家伙。

这两行的等号后面,目前只允许 read write none 三种值,你如果想实现一些特殊的值,比如说“read-once”之类的,建议你自己动手改源代码,反正它也是自由软件:anon-access = noneauth-access = write接下来就是最关键的一句呢,它告诉 svnserve.exe,项目目录访问权限的相关配置是放在 authz.conf 文件里:authz-db = authz.conf当然,svn 1.3.2 引入本功能的时候,系统默认使用 authz 而不是 authz.conf 作为配置文件。

不过可能由于鄙人是处女座的,据说有着强烈的完美主义情结,看着 svnserve.conf 有后缀而 passwd 和 authz 没有就是不爽,硬是要改了。

上述的 passwd.conf 和 authz.conf 两个文件也可以作为多个代码库共享使用,我们只要将它们放在公共目录下,比如说放在 ``D:\svn`` 目录下,然后在每个代码库的 svnserve.conf 文件中,使用如下语句:password-db = ..\..\passwd.confauthz-db = ..\..\authz.conf或者:password-db = ../../passwd.confauthz-db = ../../authz.conf这样就可以让多个代码库共享同一个用户密码、目录控制配置文件,这在有些情况下是非常方便的。

authz.conf之用户分组“arm\conf\authz.conf” 文件的配置段,可以分为两类,“[group]” 是一类,里面放置着所有用户分组信息。

其余以 “[arm:/]” 开头的是另外一类,每一段就是对应着项目的一个目录,其目录相关权限,就在此段内设置。

首先,我们将人员分组管理,以便以后由于人员变动而需要重新设置权限时候,尽量少改动东西。

我们一共设置了5个用户分组,分组名称统一采用 ``g_`` 前缀,以方便识别。

当然了,分组成员之间采用逗号隔开:[groups]# 任何想要查看所有文档的非本部门人士g_vip = morson# 经理g_manager = michael# 北京办人员g_beijing = scofield# 上海办人员g_shanghai = lincon# 总部一般员工g_headquarters = rory, linda# 小秘,撰写文档g_docs = linda注意到没有, linda 这个帐号同时存在“总部”和“文档员”两个分组里面,这可不是我老眼昏花写错了,是因为 Subversion 允许我这样设置。

它意味着,这个家伙所拥有的权限,将会比他的同事 rory 要多一些,这样的确很方便。

具体多了哪些呢?请往下看!authz.conf 之项目根目录接着,我们对项目根目录做了限制,该目录只允许arm事业部的经理才能修改,其他人都只能眼巴巴的看着:[arm:/]@g_manager = rw* = r¾“[arm:/]” 表示这个目录结构的相对根节点,或者说是 arm 项目的根目录。

其中的 arm 字样,其实就是代码库的名称,即前面用 svnadmin create 命令创建出来的那个 arm。

¾这里的 “@” 表示接下来的是一个组名,不是用户名。

因为目前 g_manager 组里面只有一个 michael,你当然也可以将 “@g_manager = rw” 这一行替换成 “michael = rw”,而表达的意义完全一样。

¾“*” 表示“除了上面提到的那些人之外的其余所有人”,也就是“除了部门经理外的其他所有人”,当然也包括总经理那个怪老头¾“* = r” 则表示“那些人只能读,不能写”authz.conf 之项目子目录然后,我们要给总部人员开放日志目录的读写权限:[arm:/diary/headquarters]@g_manager = rw@g_headquarters = rw@g_vip = r* =这个子目录的设置有些特色,因为从需求分析中我们知道,这个子目录的权限范围要比其父目录小,它不允许除指定了的之外其他任何人访问。

在这段设置中,我们需要注意以下几点:¾我敢打赌,设计svn的家伙们,大部分都是在类 unix 平台下工作,所以他们总喜欢使用 “/” 来标识子目录,而完全忽视在 MS Windows 下是用 “\”来做同样的事情。

所以这儿,为了表示 “diary\headquarters” 这个目录,我们必须使用 “[arm:/diary/headquarters]” 这样的格式。

当然如果你一定要用 “\” ,那么唯一的结果就是,Subversion 会将你的这部分设置置之不理,全当没看到。

¾这里最后一行的 “* =” 表示,除了经理、总部人员、特别人士之外,任何人都被禁止访问本目录。

这一行是否可以省略呢?不行,因为 “权限具备继承性”,子目录会自动拥有父目录的权限。

若没有这一行,则所有帐号都可以读取 “/diary/headquarters” 目录下的文件。

因为虽然我们并没有设置这个目录的父目录权限,可是默认的规则使得 “/diary” 目录的权限与根目录完全一样,从而让其余帐号获得对 “/diary/headquarters” 目录的 r 权限。

所以简单来说, “* =” 这一句的目的,就是割断权限继承性,使得管理员可以定制某个目录及其子目录的权限,从而完全避开其父目录权限设置的影响。

¾之所以这儿需要将 “@g_vip = r” 一句加上,就是因为存在上述这个解释。

如果说你没有明确地给总经理授予读的权力,则他会和其他人一样,被 “* =” 给排除在外。

¾如果众位看官中间,有谁玩过防火墙配置的话,可能会感觉上述的配置很熟悉。

不过这里有一点与防火墙配置不一样,那就是各个配置行之间,没有“先后顺序”一说。

也就是说,如果我将本段配置的 “* =” 这一行挪到最前面,完全不影响整个配置的最终效果。

接下来我们看看这一段:[arm:/ref]@g_manager = rw@g_docs = rw* = r这里的主要看点,就是 g_docs 组里面包含了一个 linda 帐号,她也同时在 g_headquarters 组里面出现,这就意味着, linda 将具备对“/ref” 和 “diary\headquarters” 两个目录的读写权限。

authz.conf 之目录表示法在前面的描述中,我们都采用 “[repos:/some/dir]” 这样的格式来表示项目的某个目录,比如上一小节中的 “[arm:/diary/headquarters]” 。

而实际上,Subversion 允许你采用 “[/some/dir]” 这样的格式,即不指定代码库的方式来表示目录,此时的目录就匹配所有项目。

对于使用 svnserve 的用户来说,只有当 svnserve 运行的时候使用了 “-r” 参数,并且让多个代码库共享同一个目录权限文件(即 authz.conf 或authz)时,不指明代码库名称才有可能惹麻烦。

一般情况下,我们对每个代码库都会独立使用配置文件,毕竟每个项目的目录结构,都有很大不同,混在一起意义不大。

因此一般来说,为简洁起见,都可以不指明代码库名称。

本文全都指明了代码库名称,主要是为了将来扩展成同一个配置文件,以方便配合 Apache 服务器。

对于使用 Apache 的用户来说,它们二者可有着很大的不同,因为此时往往习惯于使用一个公共的目录权限配置文件。

如果你使用了 SVNParentPath 指令,则指定版本库的名字是很重要的,因为假若你使用后者,那么 “[/some/dir]”部分就会与所有代码库项目的 “[/some/dir]” 目录匹配。

如果你使用 SVNPath 指令,则这两种表示方式就没有什么区别了,毕竟只有一个版本库。

authz.conf 的其他注意点1.父目录的 “r” 权限,对子目录 “w” 权限的影响。

2.把这个问题专门提出来,是因为在1.3.1及其以前的版本里面,有个bug,即某个帐号为了对某个子目录具备写权限,则必须对其父目录具备读权限。

因此现在使用了1.3.2及其更高的版本,就方便了那些想在一个代码库存放多个相互独立的项目的管理员,来分配权限了。

比如说央舜公司建立一个大的代码库用于存放所有员工日志,叫做 diary,而arm事业部只是其中一个部门,则可以这样做:[diary:/]@g_chief_manager = rw[diary:/arm]@g_arm_manager = rw@g_arm = r这样,对于所有arm事业部的人员来说,就可以将svn://192.168.0.1/diary/arm 这个URL当作根目录来进行日常操作,而完全不管它其实只是一个子目录,并且当有少数好奇心比较强的人想试着checkout 一下 svn://192.168.0.1/diary 的时候,马上就会得到一个警告“Access denied”,哇,太酷了。

相关文档
最新文档