Ubuntu系统上svn的安装与配置

1安装Subversionpackage:

$ 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访问,也可以通过apachehttp访问,这里不再赘述请查阅:

http://odyniec.net/articles/ubuntu-subversion-server/

8eclipse插件

如果使用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上,其他人进行同步的时候就会出现问题,由于版本不同,一般都出现如下错误:

TargetruntimeApacheTomcat7.0isnotdefined

只需将上述xml文件改为:

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
 
</faceted-project>

即可。

相关推荐