linux svn和web同步

本文详细介绍如何使用svnadmin创建SVN仓库,并进行权限配置。此外还介绍了如何将项目导入SVN,包括从服务器本地及电脑本地导入的方法,并提供了同步更新的脚本设置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.新建仓库

svnadmin create /alidata/svn/treehole

2.配置相关权限

cd /alidata/svn/treehole/conf/
vi svnserve.conf 
vi passwd 
vi authz 

3.将项目导入到svn中

终端输入:svn import [源路径] [目标版本库路径] -m [日志信息]

a.从服务器本地导入
项目在服务器的位置

/alidata/secret-garden/

将项目导入库内

svn import /alidata/secret-garden/ "svn://localhost/treehole" -m "app1"

b.从电脑本地导入

svn import D:\eclipse-android-workplace\FamePic
"svn://192.168.1.108:3690/project-android/framepic" -m "init import"

mac:
svn import /Applications/MAMP/htdocs/Secret "svn://xxx.xxx.156.2/secret" -m "secret"

4.纳入版本管理
从版本库导出:
导入后原文件并未被纳入版本管理,若想获得受版本控制的文件,就需要从版本库导出

终端输入:svn co [版本库路径] [导出目标路径]
svn co file:///alidata/svn/treehole/ /alidata/treehole

5.同步

/alidata/svn/treehole/hooks/
cp post-commit.tmpl post-commit
编辑post-commit,在文件最后添加以下内容

事先在hooks下建立log目录,在其下建立post-commit.log用于记录提交的日志

export LANG=en_US.UTF-8
#仓库的路径
REPOS="$1"
#新提交的版本号
REV="$2"
#脚本的标准输出和标准错误输出都打印到日志文件中
TIME=$(date "+%Y-%m-%d %H:%M:%S")
BINSVN=/usr/bin/svn
SVNLOOK=/usr/bin/svnlook
LOGFILE=/alidata/svn/treehole/hooks/log/post-commit.log
#SVN客户端配置
WEBROOT=/alidata/treehole
MESSAGE=$($SVNLOOK log -r $REV "$REPOS")

echo "-- $TIME" >> $LOGFILE
echo "******************************************************************" >> $LOGFILE
echo "提交版本:$REV" >> $LOGFILE
echo "提交备注:$MESSAGE" >> $LOGFILE
if [ ! -d $WEBROOT/.svn ];then
        echo "$BINSVN co file://$REPOS/ $WEBROOT" >> $LOGFILE
        $BINSVN co file://$REPOS/ $WEBROOT
        if [ $? -eq 0 ];then
                echo "checkout ok" >> $LOGFILE
        else
                echo "checkout error" >> $LOGFILE
        fi
else
        echo " $BINSVN up $REV $WEBROOT " >> $LOGFILE
        $BINSVN up $REV $WEBROOT >> $LOGFILE
        if [ $? -eq 0 ];then
                echo "update sucess " >> $LOGFILE
        else
                echo "update fial " >> $LOGFILE
        fi
fi
echo "--" >> $LOGFILE
增加脚本执行权限
chmod +x post-commit 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值