Ubuntu系统上svn的安装与配置

1 安装Subversion package:
$ sudo apt-get install subversion

2 建立代码库
为代码库创建文件夹
$ sudo mkdir /usr/local/svn

据说在/home/svn目录下面亦可,但没有试过。
$ sudo mkdir /usr/local/svn/repos

3 为了权限管理,建立用户组
$ sudo groupadd svn

改变/usr/local/svn/repos的用户组属性
$ sudo chgrp svn /usr/local/svn/repos

增加组内成员权限
$ sudo chmod g+w /usr/local/svn/repos

最为重要一点,让代码库中任何新建的文件或者文件夹都保留这种权限设置:
$ sudo chmod g+s /usr/local/svn/repos

把你自己的用户名加入到svn中:
$ sudo usermod -a -G svn bupt

然后logout,注销后再次进入,生效
可以查看一下:
$ groups 

如果添加其他用户,可以使用以下命令:
$ sudo usermod -a -G svn ben 
$ sudo usermod -a -G svn ubuntu


4 创建一个测试代码库
设置端口002
$ umask 002

创建
$ svnadmin create /usr/local/svn/repos/test

恢复端口022
$ umask 022


5 检出并修改提交
检出
$ svn checkout file:///usr/local/svn/repos/test
Checked out revision 0.

转到工作副本,并加以修改
$ cd test 
$ echo 'Hello, World!' > hello.txt

添加
$ svn add hello.txt
A         hello.txt

提交
$ svn commit -m "Added a 'hello world' text file." 
Adding         hello.txt 
Transmitting file data . 
Committed revision 1.


6 通过svn协议访问代码库
创建用户列表
$ sudo gedit /usr/local/svn/passwd-team

形如:等号左边用户名,右边密码
[users] 
michal = somepassword 
jimmy = anotherpassword 
craig = yetanotherpassword

改变文件权限,提高安全性:
$ sudo chmod 600 /usr/local/svn/passwd-team

打开test代码库的配置文件:
$ gedit /usr/local/svn/repos/test/conf/svnserve.conf

统统删掉,写成
[general] 
anon-access = none 
password-db = /usr/local/svn/passwd-team 
realm = Team

启动svnserve.
$ sudo svnserve -d --foreground -r /usr/local/svn/repos


7 可以测试访问
ip根据实际情况而定
$ svn checkout svn://192.168.10.11/test --username jimmy

提示输入用户名
Authentication realm: <svn://192.168.10.11:3690> Team Password for 'jimmy': 

输入之后,变可以检出:
A    test/hello.txt 
Checked out revision 1.

转到工作副本,修改
$ cd test 
$ gedit hello.txt

提交
$ svn commit -m "Modified the hello.txt file." 
Sending        hello.txt 
Transmitting file data . 
Committed revision 2.


此外可以通过ssl访问,也可以通过apache http访问,这里不再赘述请查阅:
http://odyniec.net/articles/ubuntu-subversion-server/

8 eclipse插件
如果使用eclipse开发工具,可以安装subclipse作为插件,安装完后,进入window的svn资源库,创建资源,然后按提示输入用户名和密码。
需要注意的是,如果建立tomcat上的web工程,工程目录下的.settings文件夹里,打开org.eclipse.wst.common.project.facet.core.xml文件,其内容是:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<runtime name="Apache Tomcat v7.0"/>
<fixed facet="jst.web"/>
<fixed facet="jst.java"/>
<installed facet="jst.java" version="7.0"/>
<installed facet="jst.web" version="2.6"/>
</faceted-project>

发布到SVN上,其他人进行同步的时候就会出现问题,由于版本不同,一般都出现如下错误:
Target runtime Apache Tomcat 7.0 is not defined
只需将上述xml文件改为:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
 
</faceted-project>

即可。

猜你喜欢

转载自baoweiwei.iteye.com/blog/1531041