Ubuntu 14.04下SVN服务器server的搭建和客户端的简单操作
参考:Ubuntu 14.04下搭建SVN服务器(SVN Server)
一:搭建环境
查看Ubuntu系统的版本信息:可用cat /proc/version命令、uname -a命令与sb_release -a命令。
Ubuntu:14.04 64位
SVN:通过apt-get 安装
二:搭建步骤
1.卸载svn
利用以下命令查看自己的系统是否已经安装了svn:

上面显示为已安装,可以使用以下命令进行卸载:
sudo apt-get remove --purge subversion
(–purge 选项表示彻底删除改软件和相关文件)
2.安装svn
安装前建议更新一下,再进行安装:
sudo apt-get update
sudo apt-get install subversion
可以验证一下,通过如下命令:
svn help //--svn帮助
svn --version //--svn版本
svnserve --version //--svn server版本
3.创建SVN版本库
a:创建项目目录和svn仓库:
sudo mkdir /home/svn
sudo mkdir /home/svn/myproject
sudo svnadmin create /home/svn/myproject
执行命令后,会在myproject下生成以下文件:
对db进行权限设置:
sudo chmod -R 777 db
注:如果不执行上述命令,在客户端执行提交操作时会报如下错误:不能打开文件“/home/svn/myproject/db/txn-current-lock”:权限不够。
这是因为我们用的都是sudo权限做的操作,默认只有root用户对文件夹才有写权限,因为root的umask是0022,别的用户没有写权限。
b:设置访问权限:
修改conf文件夹下的三个文件:svnserve.conf、passwd和authz。
cd conf/
sudo gedit svnserve.conf
注:所有的行都必须顶格,否则报错。
c:添加访问用户:
sudo gedit passwd
d:设置用户权限:
sudo gedit authz
对以上进行解释:
admin = wang //用户王属于admin权限组
@admin = rw //admin权限组的权限是读和写
* = r 所有的组都具有读权限
e. 通过以上步骤可以在/home/svn目录下建立多个仓库(repository)。
e. 通过以上步骤可以在/home/svn目录下建立多个仓库(repository)。
三:测试SVN服务器
a. 启动服务器
sudo svnserve -d -r /home/svn [--listen-host 192.168.1.16]
注:-d:表示在后台运行,-r:指定服务器的根目录
这样访问服务器时就可以直接用”svn://服务器ip/repository”来访问了。如果服务器有多ip的话–listen-host来指定监听的ip地址。
我们可以在svn客户端中通过svn://192.168.1.16来访问svn服务器。
可以用如下命令查看svnserve是否已经运行:
ps aux | grep svnserve

可以看到svn服务器已经在后台运行了。
可以看到svn服务器已经在后台运行了。
值得注意的是,这里是用sudo 启动的, 因为之前的svn目录及tone_src目录我都是在sudo下创建的。目录的所属权限都是root,如果以“svnserve -d -r /home/svn/”的方式启动也是可以的的的方式启动也是可以的,但是当客户段提交文件的时候,会出问题,因为此时的svnserve 服务对svn版本库目录没有写的权限。
b. 停止服务器
sudo killall svnserve
ps aux | grep svnserve

可以看到svn服务器已经关了。
四、客户端
a、安装
推荐使用RabbitVCS,类似于Windows下的TortoiseSVN。
1. sudo add-apt-repository ppa:rabbitvcs/ppa
2. sudo apt-get update
3. sudo apt-get install rabbitvcs-nautilus3
4. 在terminal中执行命令nautilus -q重启Nautilus就可以使用rabbitvcs了
b、简单使用
1. 打开一个文件夹,在空白处右键 --> RabbitVCS SVN --> 检出(Checkout)...

2. 在弹出的对话框的URL中填入svn服务器的地址,由于这里是连接到本机上的服务器,所以直接填了服务器的路径。如是远程连接,则需填写svn服务器所在主机的IP地址。

点击确定后,就自动生成了myproject的文件夹。

打开myproject文件夹,按Ctrl+H显示隐藏的文件,可以看到有个.svn的文件夹。

3. 添加、提交文件
在myproject文件夹下新建main.cpp,这时文件上是个问号,如1所示;在空白处右键 --> RabbitVCS SVN --> 添加,将文件添加后问号变成了加号,如2所示。

在空白处右键 --> 提交,加号变成了钩子,如3所示,表示已经提交成功。
四、客户端
a、安装
推荐使用RabbitVCS,类似于Windows下的TortoiseSVN。
1. sudo add-apt-repository ppa:rabbitvcs/ppa
2. sudo apt-get update
3. sudo apt-get install rabbitvcs-nautilus3
4. 在terminal中执行命令nautilus -q重启Nautilus就可以使用rabbitvcs了
b、简单使用
1. 打开一个文件夹,在空白处右键 --> RabbitVCS SVN --> 检出(Checkout)...
2. 在弹出的对话框的URL中填入svn服务器的地址,由于这里是连接到本机上的服务器,所以直接填了服务器的路径。如是远程连接,则需填写svn服务器所在主机的IP地址。
点击确定后,就自动生成了myproject的文件夹。
打开myproject文件夹,按Ctrl+H显示隐藏的文件,可以看到有个.svn的文件夹。
3. 添加、提交文件
在myproject文件夹下新建main.cpp,这时文件上是个问号,如1所示;在空白处右键 --> RabbitVCS SVN --> 添加,将文件添加后问号变成了加号,如2所示。
在空白处右键 --> 提交,加号变成了钩子,如3所示,表示已经提交成功。
如果提交时出现如下错误:
执行一下清理即可。