安装SVN
安装顺序
1、 安装apr
tar zxvf apr-1.4.5.tar.gz -C /usr/local/src/
cd /usr/local/src/apr-1.4.5/
./configure --prefix=/usr/local/apr
make
make install
2、 安装apr-util
tar zxvf apr-util-1.3.12.tar.gz -C /usr/local/src/
cd /usr/local/src/ apr-util-1.3.12/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install
cp neon-0.29.0 /usr/local/src/subversion-1.6.17/neno
解 压Sqlite3.6.16 tar zxvf sqlite-amalgamation-3.6.16.tar.gz 进入文件夹sqlite-amalgamation找到sqlite3.c将其复制到 /home/SVN/subversion-1.6.3/sqlite-amalgamation/sqlite3.c
由于版本1.6.17里没有sqlite-amalgamation 所以你要先创建sqlite-amalgamation 目录然后复制进去。
3、subversion-1.6.17.需要先运行bash -x autogen.sh,才能./configure
./configure --prefix=/usr/local/svn1.6/ --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/
在编译过程中出现如下错误: make: *** [subversion/libsvn_fs_fs/rep-cache.lo]
原因:subversion/libsvn_fs_fs/rep-cache-db.h有错误的编码'^M'
使用vim打开libsvn_fs_fs/rep-cache-db.h,删除'^M'
重新make
在编译过程中出现如下警告:configure: WARNING: we have configured without BDB filesystem support
没装BerkeleyDB,不能创建db格式的版本库;没关系采用filesystem一样保存
svn服务器配置
1.测试安装是否成功:
svnserve --version 回车显示版本说明安装成功
[root@svn ~]# netstat –nat 查看默认TCP 3690端口是否监听.
2.创建svn版本库
[root@svn /]# mkdir -p /data/svndata
[root@svn /]# svnadmin create /opt/svndata/haibao_site winne为版本库名称
3.svnserve配置文件概述
svnserve.conf -- svn服务配置文件,在文件版本库目录的conf目录下。
passwd -- 用户名口令文件,该文件名在文件svnserve.conf中指定,缺省为同目录下的。
authz -- 权限配置文件,该文件名也在文件svnserve.conf中指定,缺省为同目录下的。
conf/svnserve.conf 文件
配置项分为以下5项:
anon-access 控制非鉴权用户访问版本库的权限。
auth-access 控制鉴权用户访问版本库的权限。
password-db 指定用户名口令文件名。
authz-db 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
realm 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的
认证域相同,建议使用相同的用户名口令数据文件
注:1.4版本anon-access = read 参数的bug .
anon-access = read时
客户端Checkout(提取)的时候会有Not authorized to open root of edit operation"错误,改为none参数正常,
conf /Passwd 文件
user1 = user1
user2 = user2
conf /authz 文件
[groups] 设置组
admin = user1
[/] 根目录权限设置(就是“svndata”这个文件夹)
user1 = rw 用户1权限是:可读写
user2 = r 用户2权限是:可读,不可写
@admin = rw 设置组权限
[svndata:/winne] 设置根目录下“winne”文件夹的权限
user1 = rw
user2 = r
…以此类推
3. 启动svn
建立启动svn的用户:
useradd svn
passwd svn
根据提示为用户svn设置密码允许用户svn访问版本库:
chown –R svn:svn /opt/svndata
chown –R svn:svn /opt/data启动svn:
su - svn -c "svnserve -d --listen-port 9999 -r /opt/svndata"
其中:
su – svn表示以用户svn的身份启动svn
-d表示以daemon方式(后台运行)运行
--listen-port 9999表示使用9999端口,可以换成你需要的端口。但注意,使用1024以下的端口需要root
4,启动和停止SVN服务
启动SVN服务:
[root@svn ~]# svnserve -d -r /data/svndata/
-d表示后台运行
-r 指定根目录是 /data/svndata/
停止SVN服务:
ps -aux |grep svn
kill -9 进程杀掉
导入项目数据
$ svnadmin create /usr/local/svn/newrepos
$ svn import mytree file:///usr/local/svn/newrepos/some/project \
-m "Initial import"
Adding mytree/foo.c
Adding mytree/bar.c
Adding mytree/subdir
Adding mytree/subdir/quux.h
Committed revision 1.
svn import /var/www/html/hbtv file:///opt/svndata/haibao_site/hbtv -m "Initial import" 导入程序到源码库
svn info 查看当前源及相关信息
svn switch --relocate svn://shop.haibao.cn/haibao_site/hbtv/topic2 svn://10.15.186.163/haibao_site/hbtv
下载项目
svn checkout svn://10.15.186.163/haibao_site/hbtv
svn update -r 200 test.php 还原程序到某个版本 200为版本号
svn status -v path (显示文件和子目录状态)