去subversion官网http://subversion.apache.org/download/下载tar.gz的安装包
另外还需要到http://apr.apache.org/download.cgi下载subversion必须的apr和apr-util的tar.gz的包
tar -zxvf apr-1.4.6.tar.gz
./configure --prefix=/home/yy/apr
make
make install
tar -zxvf apr-util-1.4.1.tar.gz
./configure --prefix=/home/yy/apr-util --with-apr=/home/yy/apr
注意需要使用—with-apr指定apr的安装目录
make
make install
tar -zxvf subversion-1.7.5.tar.gz
./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目录需要新建
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的方式访问
svnadmin dump /home/yy/svn/project > /home/yy/svndump/project_20120717.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的根目录,而按上面的启动参数,是没有库的概念的。
使用类似这样的URL:svn://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目录
使用类似这样的URL:svn://192.168.0.1/project1 即可访问project1
这样的URL:svn://192.168.0.1/project2 即可访问project2
2,对中文目录进行权限控制时,没有将权限文件authz改为utf-8格式。
svn对于非英文文件名和目录名使用utf-8格式编码处理,要对中文目录进行正确控制,
应该使用无BOM的utf-8格式,如何将默认的文件转为utf-8,
我使用的是UltraEdit的菜单"ASCII to UTF-8 (Unicode Editing)"。在UltraEdit的配置中,可以设置有无BOM