Ubuntu SVN安装及使用

本文详细介绍了如何在Linux环境下安装配置Subversion(SVN)服务器,包括创建版本库、用户权限设置、启动服务及常见问题解决。同时,涵盖了如何通过终端使用SVN进行项目导入、更新提交和导出等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 安装

sudo apt-get install subversion

2 配置和部署

创建用于存放版本库的目录

mkdir /var/svn

并在创建的目录下创建一个新的文件夹,文件夹的名称与将要上传至svn的项目名称一致(本例中为cglt3_1):

sudo svnadmin create /var/svn/cglt3_1

创建完成后,cglt3_1目录下会生成一些文件,进入conf目录下。conf目录中authz文件是权限控制文件,passwd是帐号密码文件,svnserve.conf是SVN服务配置文件

【1】 修改passwd文件,加入用户,格式就是“用户名=密码”,如:zhaodaxin = zhaodaxin;
【2】 修改authz文件,加入用户权限:

[/] 
zhaodaxin = rw

注意“[/]”不能少,且不是反斜杠。zhaodaxin 为用户名,rw表示赋予该用户读写的权限。若配置失败,可能会出现“svn: E220003: Invalid authz configuration”错误。

【3】 修改svnserve.conf(很重要),将下图中白色字体原有的注释删除。

在这里插入图片描述

【4】 启动svn服务:
svnserve --listen-port=8899 -d -r /var/svn
可通过ps -ef|grep svn查看是否存在svn进程已确定svn是否启动成功。

3 SVN的使用

在导入项目前,首先需给/var/svn/cglt3_1文件夹赋予权限,否则会报“svn: E000013: Can’t open file ‘/var/svn/cglt3_1/db/txn-current-lock’: Permission denied”错误,赋予权限的方式为:

sudo chmod -R 777 /var/svn/cglt3_1

发现文件夹有绿色底纹(如下图)时成功。
在这里插入图片描述

3.1 项目导入

打开终端,将工作目录切换到所用上传的项目的目录(本例中cglt3_1放在桌面:cd Desktop),导入项目:

svn import cglt3_1 svn://localhost:8899/cglt3_1

3.2 项目更新提交

打开终端,将工作目录切换到所用上传的项目的目录,更新提交项目:

svn ci -m “comment”

-m “comment”为该版本代码添加注释。

3.3 项目导出

使用svn co svn://localhost:8899/cglt3_1 ./cglt3_1 命令将导入的项目导出到根目录的cglt3_1文件夹下。

注意:必须要导出,否则会报非工作目录的错误,导出之后将eclipse中的项目引向导出的文件夹(为了在eclipse中更改项目时同步更改文件夹内容),之后可使用svn add、svn ci等命令更新svn。

3.4 项目导出某个版本

SVN提供Command来完成这项工作,Command格式为:

svn co URL[repository URL] -r [version num]

其中version number为参数,可以为数字型的,也支持时间,SVN会自动Check Out最接近这个日期的版本。
例如
svn co svn://localhost:8899/buddle -r 29 ./buddle

4 在实际应用中遇到的问题

  • 无法提交、导出(如下图)
    在这里插入图片描述
    解决办法:出现该问题时,可检查svn服务是否开启,在未开启服务的情况在是无法进行提交、导出等操作的。

  • Password for ‘(null)’ GNOME keyring错误
    解决办法

    rm ~/.gnome2/keyrings/login.keyring

  • svn log
    在这里插入图片描述
    解决办法:在svnserve.conf 文件中, 设置 anon-access = none

<think>好的,用户想在Ubuntu安装使用SVN,我需要提供一个详细的指南。首先,我得确认安装步骤。在Ubuntu中,通常使用apt来安装软件包,所以应该用sudo apt install subversion。安装完成后,可能需要验证版本,用svn --version命令。 接下来是基本使用,比如创建仓库。用户可能需要知道svnadmin create命令来创建新的仓库,比如在/opt/svn/repo目录下。然后,权限设置很重要,特别是如果用户要通过HTTP访问,可能需要配置Apache模块,比如libapache2-mod-svn,并设置AuthzSVNAccessFile等参数。 还有常见的操作,比如检出代码用svn checkout,添加文件用svn add,提交用svn commit。这部分需要给出具体的命令示例,让用户能跟着操作。另外,权限管理部分可能需要编辑authz文件,设置用户组和权限,这部分需要详细说明。 用户可能遇到的问题包括路径配置错误,比如引用[1]中提到的.bash_profile问题,可能需要提醒用户使用正确的编辑器,比如nano或者vim,而不是pico。还有编译选项,如引用[2]中的C++11支持,虽然和SVN无关,但可能需要确保环境正确配置。 最后,生成相关问题时要考虑用户可能进一步的需求,比如权限配置、迁移仓库、忽略文件等。需要确保步骤清晰,命令准确,并且涵盖常见问题,帮助用户顺利使用SVN。</think>### UbuntuSVN安装使用指南 #### 一、安装SVN客户端和服务器 1. 更新软件包列表 ```bash sudo apt update ``` 2. 安装Subversion套件 ```bash sudo apt install subversion libapache2-mod-svn ``` 3. 验证安装 ```bash svn --version ``` #### 二、创建SVN仓库 1. 创建仓库目录 ```bash sudo mkdir -p /opt/svn/repo sudo svnadmin create /opt/svn/repo ``` 2. 设置权限 ```bash sudo chown -R www-data:www-data /opt/svn/repo sudo chmod -R 775 /opt/svn/repo ``` #### 三、配置Apache访问(可选) 1. 创建配置文件 ```bash sudo nano /etc/apache2/mods-available/dav_svn.conf ``` 2. 添加配置内容 ```apacheconf <Location /svn> DAV svn SVNPath /opt/svn/repo AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user </Location> ``` 3. 创建用户密码文件 ```bash sudo htpasswd -cm /etc/apache2/dav_svn.passwd username ``` #### 四、基本操作命令 1. 检出代码 ```bash svn checkout http://localhost/svn/repo myproject ``` 2. 添加文件 ```bash svn add filename ``` 3. 提交修改 ```bash svn commit -m "commit message" ``` 4. 更新代码 ```bash svn update ``` #### 五、权限管理 在仓库的`conf/authz`文件中配置: ```ini [groups] developers = alice,bob [/] @developers = rw * = r ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值