1 安装Subversion package:
2 建立代码库
为代码库创建文件夹
据说在/home/svn目录下面亦可,但没有试过。
3 为了权限管理,建立用户组
改变/usr/local/svn/repos的用户组属性
增加组内成员权限
最为重要一点,让代码库中任何新建的文件或者文件夹都保留这种权限设置:
把你自己的用户名加入到svn中:
然后logout,注销后再次进入,生效
可以查看一下:
如果添加其他用户,可以使用以下命令:
4 创建一个测试代码库
设置端口002
创建
恢复端口022
5 检出并修改提交
检出
转到工作副本,并加以修改
添加
提交
6 通过svn协议访问代码库
创建用户列表
形如:等号左边用户名,右边密码
改变文件权限,提高安全性:
打开test代码库的配置文件:
统统删掉,写成
启动svnserve.
7 可以测试访问
ip根据实际情况而定
提示输入用户名
输入之后,变可以检出:
转到工作副本,修改
提交
此外可以通过ssl访问,也可以通过apache http访问,这里不再赘述请查阅:
[url]http://odyniec.net/articles/ubuntu-subversion-server/[/url]
8 eclipse插件
如果使用eclipse开发工具,可以安装subclipse作为插件,安装完后,进入window的svn资源库,创建资源,然后按提示输入用户名和密码。
需要注意的是,如果建立tomcat上的web工程,工程目录下的.settings文件夹里,打开org.eclipse.wst.common.project.facet.core.xml文件,其内容是:
发布到SVN上,其他人进行同步的时候就会出现问题,由于版本不同,一般都出现如下错误:
Target runtime Apache Tomcat 7.0 is not defined
只需将上述xml文件改为:
即可。
$ 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访问,这里不再赘述请查阅:
[url]http://odyniec.net/articles/ubuntu-subversion-server/[/url]
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>
即可。