linux svn和web同步

来源:互联网 发布:手机怎么设置淘宝预售 编辑:程序博客网 时间:2024/05/22 06:27

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/svnSVNLOOK=/usr/bin/svnlookLOGFILE=/alidata/svn/treehole/hooks/log/post-commit.log#SVN客户端配置WEBROOT=/alidata/treeholeMESSAGE=$($SVNLOOK log -r $REV "$REPOS")echo "-- $TIME" >> $LOGFILEecho "******************************************************************" >> $LOGFILEecho "提交版本:$REV" >> $LOGFILEecho "提交备注:$MESSAGE" >> $LOGFILEif [ ! -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        fielse        echo " $BINSVN up $REV $WEBROOT " >> $LOGFILE        $BINSVN up $REV $WEBROOT >> $LOGFILE        if [ $? -eq 0 ];then                echo "update sucess " >> $LOGFILE        else                echo "update fial " >> $LOGFILE        fifiecho "--" >> $LOGFILE
增加脚本执行权限chmod +x post-commit 
0 0
原创粉丝点击