zoukankan      html  css  js  c++  java
  • 转载:linux系统下SVN同步文件到WEB目录

    SVN在团队开发中使用非常普遍,是一个很方便的版本控制系统。 
    如果要是能将SVN服务器上的数据自动发布到Web服务器,那将是整个项目开发、测试更加便捷。利用SVN的hook功能就能实现将SVN服务器上的数据同步到Web服务器。

    思路: 
    找到SVN Server中的仓库(Repositories)文件夹的位置,在相应的项目文件夹中找到hooks文件夹。在该文件夹中添加一个post- commit文件;当有commit动作发生时(提交到SVN Server时)就会执行这个post-commit文件,在该文件实现数据的复制。


    1.创建web目录(已有目录则略过)

       cd /var

       mkdir www

       chmod 777 www

    2.检出副本到/var/www

       svn co file:///var/svn/foo

       此时web目录是SVN版本库的一个工作副本


    3.增加hooks(钩子)文件

       在/var/svn/foo/hooks/目录中

    # start-commit 提交前触发事务

    # pre-commit 提交完成前触发事务

    # post-commit 提交完成时触发事务

    # pre-revprop-change 版本属性修改前触发事务

    # post-revprop-change 版本属性修改后触发事务

    我们这里只需要修改post-commit文件:

    cp post-commit.tmpl post-commit


    编辑该文件

    #!/bin/sh

    # 配置库地址

       REPOS="$1"

       REV="$2"

    # WEB目录

       BASEPATH=/var/www

       WEBPATH="$BASEPATH/"

    # 避免中文信息乱码

       export LANG=zh_CN.UTF-8

    # 可以配合svnlook命令更新指定目录

       svn update $WEBPATH --username user1 --password password1 --no-auth-cache



    保存后需要修改post-commit文件权限为755,否则SVN无法调用执行

    chmod 755 post-commit

    里面原有的代码全部注释掉.这里可以执行shell命令,每次commit完成后都会调用此文件。


    说明:
    1、#!/bin/sh 说明是执行shell命令
    2、export LANG=zh_CN.UTF-8 是为了解决svn post commit 中文乱码。
        如果你是GBK编码可能会提示:Error output could not be translated from the native locale to UTF-8
        这是客户端和服务器编码的问题,默认是utf-8,可尝试设置export LANG=zh_CN.GBK或者export LANG=en_US.UTF-8
    3、svn update –username 你版本库的用户名 –password 用户名的密码

          svn://你的IP地址:端口/repos/project /web/project

  • 相关阅读:
    简单小过一个crc
    BUUCTF-RE-babymips
    为IDA插件findcrypt添加更多规则
    2020网鼎杯第一场青龙组re部分wp
    HexionCTF2020 部分wp
    TGhack2020 re&misc
    java反射总结
    BUUCTF-RE-CrackMe
    青年大学习直接出图片的软件出了bug,用frida干他
    小玩具Teensy
  • 原文地址:https://www.cnblogs.com/zl0372/p/svn_3.html
Copyright © 2011-2022 走看看