Ubuntu下SVN配置

試著忘記壹切 提交于 2020-03-03 08:21:12

Ubuntu svn配置 一 安装
Subversion 已经包含在 main 仓库中。所以,要安装 Subversion,执行:
$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn


二 目录,权限设置
许多位置都可以放置 Subversion 文件仓库,其中两个最常用的是:/usr/local/svn 以及 /home/svn。
在这里Subversion 文件仓库放在 /home/svn,并且项目名称是简单的“myproject”。
创建一个名为“Subversion”的组来拥有文件仓库所在的目录,将自己和“www-data”(Apache 用户)加入
组成员中,执行:
$ sudo addgroup subversion
$ sudo usermod -G subversion -a www-data

再执行:
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
$ sudo chown -R root:subversion myproject

赋予组成员对所有新加入文件仓库的文件拥有相应的权限:
$ sudo chmod -R g+rws myproject
除了权限以外,用户及其组如果不对,则仍然会遇到上述问题,可以再次运行命令:
$ sudo chown -R root:subversion myproject


三 创建文件仓库
下面的命令用于创建 SVN 文件仓库:
$ sudo svnadmin create /home/svn/myproject

 
四 用户设置
修改 /home/svn/myproject/conf/svnserve.conf 来配置其访问控制。
取消下面的注释符号来设置授权机制:
# [general]
# password-db = passwd
现在,您可以在“passwd”文件中维护用户清单。编辑同一目录下“passwd”文件,添加新用户。语法如下:
username = password(注意行开始不要有多余空格)


五 Windows客户端
下载svn客户端,check out时的连接地址:
svn://192.168.1.100/home/svn/safesys

 

增加用户和组
vi /etc/group
subversion:x:1001:www-data,exp,mocci,musaglas
建立SVN目录
mkdir /home/mocci/svn
cd /home/mocci/svn
sudo mkdir myprojects
更改文件所属者
chown -R mocci:subversion myprojects
更改文件操作权限
chmod -R ug+rwxs myprojects
建立SVN数据仓库
svnadmin create /home/mocci/svn/myprojects
配置apache
设定dav_svn启动(注:情况不同,可以不用加载)
修改/etc/apache2/httpd.conf
LoadModule dav_module          /usr/lib/apache2/modules/mod_dav.so
LoadModule dav_svn_module     /usr/lib/apache2/modules/mod_dav_svn.so

/etc/apache2/mods-available/dav_svn.conf
  <Location /svn/myprojects>
     DAV svn
     SVNPath /home/mocci/svn/myprojects
     AuthType Basic
     AuthName "mux's myprojects"
     AuthUserFile /etc/subversion/passwd
     <LimitExcept GET PROPFIND OPTIONS REPORT>
        Require valid-user
     </LimitExcept>
  </Location>
增加apache用户
htpasswd -c /etc/subversion/passwd mocci
输入密码
htpasswd -m /etc/subversion/passwd musaglas
输入密码
apache设置完成,重起apache
/etc/init.d/apache2 restart
下面设置CVS的用户权限
在myprojects/conf/svnserve.conf
把注释去掉
增加用户,更改passwd
mocci=******
musaglas=******
赋予权限,更改authz
[/]
*=r
[myprojects:/]
mocci=rw
musaglas=rw

配置完成!
下面测试一下。

Subversion社区建议为每一个项目建立一个项目根目录—项目的“顶级”目录—然后在根目录下建立三个子目录:trunk,保存项目的开发主线;branches,保存项目的各种开发分支;tags,保存项目的标签,也就是创建后永远不会修改的分支(可能会删除)。

 

 


建立新文件夹
 mkdir tmpdir
 cd tmpdir
 mkdir projectA
 mkdir projectA/trunk
 mkdir projectA/branches
 mkdir projectA/tags
 mkdir projectB
 mkdir projectB/trunk
 mkdir projectB/branches
 mkdir projectB/tags

svn import -m "注释" . http:///svn/myprojects
如果执行成功则:

Adding    projectA

 

 

Transmitting file data .........

 

 

Committed ....

也可以用命令,来查看导入的情况
svn list --verbose file:///svn/myprojects

      1 mocci               ..... projectA/
      1 mocci               ..... projectB/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!