centos源码编译svn

centos下源码编译svn linux下源码编译svn subversion1.7.7编译  

 
1. 下载 svn 软件包和依赖包
引用
mkdir /soft

wget http://www.yunwei8.com/soft/linux/subversion-1.7.7.tar.gz
wget  http://www.yunwei8.com/soft/linux/apr-util-1.5.1.tar.gz
wget  http://www.yunwei8.com/soft/linux/apr-1.4.6.tar.gz
wget  http://www.yunwei8.com/soft/linux/sqlite-amalgamation-3071401.zip

2:安装相应的库
引用
yum -y install gcc gcc-c++ openssl openssl-devel

3. 安装依赖软件包
引用
tar zxvf apr-1.4.6.tar.gz
cd apr-1.4.6/
./configure --prefix=/usr/local/apr
make && make install
cd ../


引用
tar zxvf apr-util-1.5.1.tar.gz
cd apr-util-1.5.1/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
cd ../


4: 安装 svn
注意这里是 SVN 和 sqlite 解压到一起再安装的
引用
tar xvf subversion-1.7.7.tar.gz
unzip sqlite-amalgamation-3071401.zip
mv sqlite-amalgamation-3071401 ./subversion-1.7.7/sqlite-amalgamation
cd subversion-1.7.7
./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --without-berkeley-db --with-ssl
make && make install
cd ..


5:修改环境变量
引用
vi /etc/profile

在尾部加入:
PATH=$PATH:/usr/local/svn/bin
export PATH

6:激活环境变量 
引用
source /etc/profile


7:检测是否安装成功
引用
svnserve --version

# 显示如下信息则表示安装成功。
# svnserve, version 1.7.7


8:开启防火墙 SVN 端口
引用
/sbin/iptables -I INPUT -p tcp --dport 9999 -j ACCEPT


保存防火墙设置
引用
/etc/rc.d/init.d/iptables save


重启防火墙
引用
/etc/init.d/iptables restart


9:创建 svn 库 www
引用
mkdir -p /yunwei8/svn/www
cd /yunwei8/svn/www
svnadmin create www
cd www/conf/
ls

# 显示当前项目配置文件
# authz passwd svnserve.conf


10:配置版本库信息
项目配置:
引用
vi svnserve.conf

修改:去掉注释符
[general]
anon-access = none
auth-access = write
password-db = passwd
realm = www
注意:这里的内容都需要顶格写,否则会报option expected的错误。

11:定义版本库访问权限:
引用
vi authz

添加如下代码:
[/]
svnuser = rw (这里的svnuser 指代的是 具体的 用户名称)
[www]
svnuser = rw


12:设定用户密码:
引用
vi passwd

添加:
yunwei8 = 123456


13: 建立启动svn 的用户
引用
useradd svn
passwd svn

回车后输入两次密码

14:设置用户所有权,允许 svn 访问版本库:
引用
chown -R svn:svn /yunwei8/svn/


15:用设定帐户启动
引用
su svn -c "svnserve -d --listen-port 9999 -r /yunwei8/svn/"

说明:
su svn 表示以用户svn 的身份启动svn
-d 表示以daemon 方式(后台运行)运行
–listen-port svn 默认端口是3690, 9999表示使用9999 端口,可以换成你需要的端口。但注意,使用1024以下的端口需要root 权限
-r /yunwei8/svn/www 指定根目录是/yunwei8/svn/


16:对于单个代码仓库启动命令:
引用
svnserve -d -r /yunwei8/svn/www --listen-host 192.168.0.201 --listen-port 9999

说明:
-d 表示在后台运行, 
-r 指定服务器的根目录,
这样访问服务器时就可以直接用svn://服务器ip 来访问了。


17: 对于多个代码仓库:
通过 -r 开放 SVN 的根目录, 
引用
svnserve -d -r /yunwei8/svn/ --listen-host 192.168.0.201 --listen-port 9999

客户端访问时再指定仓库目录即可访问 如: svn://192.168.0.201:9999/www 来分别访问每个项目

18:以 root 帐号启动SVN服务
引用
svnserve -d -r /yunwei8/svn/ --listen-host 192.168.0.201 --listen-port 9999


19:检查是否启动成功
引用
ps -ef|grep [s]vnserve

显示以下信息表示启动成功
svn      20525     1  0 08:43 ?        00:00:00 svnserve -d --listen-port 9999 -r /yunwei8/svn


20:现在只要在客户机上安装客户端就可以使用了,如windows下安装TortoiseSVN

导入SVN数据
/usr/local/svn/bin/svn import -m “project” /var/www/html/svnroot  file:///home/svn/svnroot
其中 -m “project”为创建说明
/var/www/html/svnroot 为需要导入文件的目录
file:///home/svn/svnroot  为SVN路径。

附上SVN的一些基本操作

本地访问版本库:svn list /home/svn/svnroot 或 svn ls file:///home/svn/svnroot
初始化导入:svn import -m “project” /var/www/html/svnroot file:///home/svn/svnroot
本地检出版本库:svn checkout file:///home/svn/svnroot /var/www/html/svnroot(如果没有这个参数则检出的文件保存在你当前所在目录)
更新版本库:svn update 或 svn up
提交修改到版本库:svn commit 或 svn ci
添加内容到版本库:svn add



不少开发员提交修改的时候都不写注释,导致查看历史时很费劲,也不太符合规范。有的公司要求每次提交修改时都写上bug号或者任务描述,那么如何在工具上防止开发员们不写注释呢?

利用svn的pre-commit钩子可简单实现此要求。

进入仓库project1/hooks目录,找到pre-commit.tmpl文件,重命名,去掉后缀.tmpl。
编辑pre-commit文件:(Linux系统和windows系统脚本内容见1和2)

1、Linux系统

方法1:

将:
$SVNLOOK log -t "$TXN" "$REPOS" | \
grep "[a-zA-Z0-9]" > /dev/null || exit 1
commit-access-control.pl "$REPOS" "$TXN" commit-access-control.cfg || exit 1
这三行注释掉(前面加#符号),
在此位置添加如下几行:

LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`
if [ "$LOGMSG" -lt 5 ];#要求注释不能少于5个字符,您可自定义
then
echo -e "\nLog message cann't be empty! you must input more than 5 chars as comment!." 1>&2
exit 1
fi

保存,退出。
给pre-commit添加可执行权限:
chmod +x pre-commit

配置结束,可以使用了。


本文摘自:www.yunwei8.com 

你可能感兴趣的:(subversion)