linux yum 安装 svn
其中,Linux SVN安装ParentPath是所有Repository的上层目录,此处并没有对访问Linux SVN安装的Repository进行限制,就像google code一样,无须用户名密码即可查看,甚至checkout源代码。
3. 在/var/www/下创建一个svn/的文件夹,并在此目录下创建subversion版本库:
$ svnadmin create your_repo_name
4. 进入该repository,修改配置文件,位于your_repo_name/conf下,首先修改svnserve.conf,找到并去掉以下几行的注释:
- anon-access?=?read?????????????#匿名访问的权限,可以是read,write,none,默认为read ?auth-access?=?write?????????????#认证用户的权限,可以是read,write,none,默认为write ?
- password-db?=?passwd???????#密码数据库的路径 ?authzauthz-db?=?authz????????????????#用户操作权限?
5. 修改passwd文件,其格式为:
- [users] ?user1?=?password1?
- user2?=?password2?
6. 修改authz文件,格式为:针对每一个repo_name下的目录,指定每一个用户应该具有怎样的权限(注意每行前面不能有空格):
- [repo_name:/directory1] ?user1?=?rw????????#user1具有read和write权限 ?
- [repo_name:/directory2] ?user2?=?r??????????#user2只具有read权限?
7. 在windows下用TortoiseSVN导入项目:
将项目初始文件,建立成包含以下三个文件夹的形式,其中项目根目录放入trunk下:
- svn_temp\trunk????????????????????#包含项目整体的,稳定的代码 ?svn_temp\branch?????????????????#包含项目的一个分支,如一个子功能 ?
- svn_temp\tag???????????????????????#标志项目的一个milestone,如一个release ?然后使用TortoiseSVN的import功能,这时可能会出现Permission?denied的问题,这是因为上传文件的目录的owner是root,需要修改目录的owner: ?
- Can't?open?file?'/var/www/svn/repo_name/db/txn-current-lock':?Permission?denied ?$?cd?/var/www/svn ?
- $?chown?-R?apache.apache?repo_name ?#?chcon?-R?-t?-t?http_sys_content_rw_t?repo_name???????#这一步不需要,因为已经关闭了selinux?
这样可能存在问题,就是任意用户如果知道了Linux SVN安装下载的地址,都可以import任意文件到repository中。这可能需要引入访问控制(to be continued)。
最后启动命令 svnserve -d -r /var/www/svn加参数,不然会存在找不到地址的情况