0.背景:cvs历史由来已久,对开源文化影响深远,在现代软件流程中,
也逐步暴露出不足和缺陷。svn应运而生,一直都不肯接触svn,原因是
它还比较‘年轻’,相对与cvs缺少自己的文化。
4月份sf开源平台的版本机系统由cvs向svn整体迁移,也引发了对svn的好奇,
也许接受还需要时间,先行记录吧,新人新作,欢迎指教
1.版权:C++实验室原创,http://blog.csdn.net/waterpub
联系MSN: jinglexy@yahoo.com.cn
联系MSN: jinglexy@yahoo.com.cn
2.platform:rhel4u2
3.下载:subversion-1.3.1.tar.bz2
httpd-2.0.58.tar.bz2
4.卸载原来系统的svn和apache
rpm -qa subversion || httpd
rpm -e subversion || httpd
不懂这个命令的自己查一下:)
5.安装httpd
tar jxf httpd-2.0.58.tar.bz2
cd httpd-2.0.58
./configure --enable-dav --enable-so --enable-maintainer-mode
make
make install
会产生/usr/local/apache2目录
6.安装svn
tar jxf subversion-1.3.1.tar.bz2
cd subversion-1.3.1
./configure --with-apxs=/usr/local/apache2/bin/apxs
make
make install
查看/usr/local/apache2/conf/httpd.conf,可以看到由dav_svn的行
7.运行svn
svnserve -d
lsof -i :3690
8.以下假定/mysvn是配置库路径
svnadmin create /mysvn 运行完后查看/mysvn目录
/usr/local/apache2/conf/httpd.conf最后加入
<Localtion /svn>
DAV svn
SVNPATH /mysvn
</Localtion>
9.删除/usr/lib/libsvn_*.so
拷贝/usr/local/lib/libsvn_*.so到/usr/lib
这是因为链接库路径不对
10.启动apache
/usr/local/apache2/bin/apachectl start &
现在可以访问
http://localhost/svn页面了,只是什么也没有
11.说明:以后重启机器只需启动svnserve和apachectl就可以了
12.客户端操作
mkdir project
cd project
project下文件分布:branches
tags
trunk/foo.c
bar.c
Makefile
svn import /project
file:///mysvn -m "init import"
说明:把project下的子目录上载到配置库,而非project目录
svn checkout
file:///mysvn/trunk
说明:下载trunk到当前路径
其他命令:
svn diff
commit -m "......"
add file/dir
svn命令很多都与cvs兼容,熟悉cvs的话也很容易上手
13.深圳市南山区科技园汇景豪苑海悦阁29a,零六年五月十二日夜,23:25