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>
即可。
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf