关于svn钩子

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于svn钩子相关的知识,希望对你有一定的参考价值。

svn钩子

 钩子脚本就是shell的写法,钩子就是被某些版本库事件触发的程序。    

 常用钩子:

  post-commit:在提交完成成功创建之后执行该钩子。(提交已经完成,不可更改)

   更新之后,通过邮件、微信通知

   更新触发checkout程序、然后推送到服务器

  pre-commit:提交完成前触发执行该脚本。

   限制上传文件的大小和拓展名,控制提交要输入的信息

下面写一个小例子:

 rsync与svn钩子结合实现数据实时同步到服务器

      1、建立同步web目录

    mkdir /data/www

  2、将svn中内容checkout到web目录中

    svn co svn://ip/sadoc /data/www --username=syk --password=syk123

  3、设置钩子

    cp post-commit.tmpl post-commit

  4、编写脚本

    1)、> post-commit

    2)、chmod 700 post-commit

    3)、vim post-commit添加:

      #!/bin/bash

      REPOS="$1"

      REV="$2"

      export LANG=en_US.UTF-8

      LOGPATH="/tmp/log"

      [ ! -d ${LOGPATH} ]  && mkdir ${LOGPATH} -P

       SVN=/usr/bin/svn

       $SVN update --username syk --password syk123 /data/www

      if [ $? -eq 0 ]

      then

      /usr/bin/rsync -az --delete /data/www /tmp/

      fi

   5、测试

    这时我们在svn上新建一个文件并提交,在tmp目录下就可以看到有这个新建的文件。




本文出自 “Linux” 博客,请务必保留此出处http://syklinux.blog.51cto.com/9631548/1792475

以上是关于关于svn钩子的主要内容,如果未能解决你的问题,请参考以下文章

关于我使用hook时的SVN提交

SVN 的 CPP 检查预提交挂钩

svn钩子的使用案例

七十一:flask钩子函数之关于context_processor的钩子函数

关于在反应功能组件中读取文件内容和useState钩子[重复]

关于SVN汉化失败