linux下svn服务器安装及资源库迁移方法

服务端安装步骤:

准备

去subversion官网http://subversion.apache.org/download/下载tar.gz的安装包

另外还需要到http://apr.apache.org/download.cgi下载subversion必须的apr和apr-util的tar.gz的包

Apr安装

1解压

 tar -zxvf apr-1.4.6.tar.gz

2 指定apr安装目录

./configure --prefix=/home/yy/apr

3 编译安装

make
make install


Apr-util安装

1解压

tar -zxvf apr-util-1.4.1.tar.gz

2 指定apr-util安装目录

 ./configure --prefix=/home/yy/apr-util --with-apr=/home/yy/apr

注意需要使用—with-apr指定apr的安装目录

3 编译安装

make
make install

Subversion安装

1解压

tar -zxvf subversion-1.7.5.tar.gz

2指定svn安装目录

./configure --prefix=/home/yy/subversion --with-apr=/home/yy/apr --with-apr-util=/home/yy/apr-util --whith-ssl

若提示如下错误:

configure: error: Subversion requires SQLite

则需要:

http://www.sqlite.org/下载sqlite-amalgamation的jar包,解压将sqlite3.c拷贝到/home/yy/subversion-1.7.5/sqlite-amalgamation目录下,若没有sqlite-amalgamation目录需要新建

3 编译安装

make
make install


服务端配置

资源库创建

手动新建资源库目录

mkdir svn/project

利用svn命令创建资源库

 svnadmin create /home/yy/svn/project

资源库配置

进入/home/yy/svn/project/conf目录 修改默认配置文件配置,包括svnserve.conf、passwd、authz 配置相关用户和权限

启动资源库


svnserve -d -r /home/yy/svn/

Svn资源库启动默认使用的端口为3690

 

-r 配置方式决定了资源库访问方式

  例子中svn仓库下的资源库都可以使用svn://10.1.60.125/资源库1..n的方式进行访问

连接资源库

使用eclipse svn插件通过svn://10.1.60.125/资源库1..n的方式访问

资源库迁移

导出资源库到dump文件


svnadmin dump /home/yy/svn/project > /home/yy/svndump/project_20120717.dump

将dump文件拷贝到目标机器


导入dump文件到新的资源库位置

svnadmin load /home/yy/svn/dest  < /home/yy/svndump/project_20120717.dump

 

附录(安装配置过程中可能出现的问题)

1,配置authz时,没有注意svnserve启动参数-r所指定的目录。
这里有两种情况:
A:-r直接指定到版本库(称之为单库svnserve方式)
比如,有一个库project1,位于D:\svn\project1
使用以下命令启动svnserve

1.   svnserve -d -r D:\svn\project1

复制代码

在这种情况下,一个svnserve只能为一个版本库工作
authz
文件如果配置成下面这样就是错的,

1.   [groups]

2.   admin=user1

3.   dev=user2

4.   [project1:/]

5.   @admin=rw

6.   @doc=r

复制代码

应该配置成

1.   [groups]

2.   admin=user1

3.   dev=user2

4.   [/]

5.   @admin=rw

6.   @doc=r

复制代码

因为[project1:/]表示库project1的根目录,而按上面的启动参数,是没有库的概念的。
使用类似这样的URLsvn://192.168.0.1/ 即可访问project1

B:-r指定到版本库的上级目录(称之为多库svnserve方式)
同样,有一个库project1,位于D:\svn\project1
如果使用以下命令启动svnserve

1.   svnserve -d -r D:\svn

复制代码

这种情况,一个svnserve可以为多个版本库工作,
这时如果想限制指定库的指定目录,就应该指定具体的库,像这样

1.   [groups]

2.   admin=user1

3.   dev=user2

4.   [project1:/]

5.   @admin=rw

6.   @doc=r

复制代码

如果此时你还用[/],则表示所有库的根目录,同理,[/src]表示所有库的根目录下的src目录
使用类似这样的URLsvn://192.168.0.1/project1 即可访问project1
这样的URLsvn://192.168.0.1/project2 即可访问project2

2,对中文目录进行权限控制时,没有将权限文件authz改为utf-8格式。

svn
对于非英文文件名和目录名使用utf-8格式编码处理,要对中文目录进行正确控制,
应该使用无BOMutf-8格式,如何将默认的文件转为utf-8
我使用的是UltraEdit的菜单&quot;ASCII to UTF-8 (Unicode Editing)&quot;。在UltraEdit的配置中,可以设置有无BOM

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值