zoukankan      html  css  js  c++  java
  • 关于SVN限制填写备注和自动更新代码到网站的研究

    好久没有写博客了,工作已经差不多半年。朝七晚七地生活,空闲的时间很少。

    为了补充自己,上班的时候也偷偷研究下新技术。

    今天花了大半天的时间来解决SVN的问题。其中关键的两个方面是:一是限制用户填写备注后才可以

    提交更新。二是利用SVN同步代码到测试机的Web服务器上,让代码同步更新。

    首先是第一个问题:

      遇到不懂的问题就是度娘和谷哥,查好多资料。发现一共才几行代码就搞定了。

    不过,没有经历过错误的方法就找不到正确的方法。下面是解决该问题的方案:

      第一步、在项目的Hooks目录下新一个pre-commit.bat文件。此文件是在用户提交更新时

    可以执行的脚本。

      第一步:在pre-commit.bat文件内输入下面的内容

    setlocal

    set REPOS=%1
    set TXN=%2

    set SVNLOOK="C:\Program Files (x86)\VisualSVN Server\bin\svnlook.exe"

    REM Make sure that the log message contains some text.
    FOR /F "usebackq delims==" %%g IN (`%SVNLOOK% log -t %TXN% %REPOS% `) DO goto NORMAL_EXIT

    :ERROR_TOO_SHORT
    echo "the log message can not be null " >&2
    goto ERROR_EXIT

    :ERROR_EXIT
    exit /b 1

    REM All checks passed, so allow the commit.
    :NORMAL_EXIT
    exit 0

    有个别地方需要根据自己的文件路径更改下。

    然后第二个问题的解决方案:

      第一步将HTTPS连接方式更改为HTTP连接方式。可百度下怎么修改。

      第二步将SVN的登录方式修改为管理权限的用户登录,如下图:

    第三步在Hooks文件上新建一个post-commit.bat的文件,文件内有内容如下 :

    @echo off
    "C:\Program Files (x86)\VisualSVN Server\bin\svn.exe" update "D:\webcode\CRM_Code" –username admin85 –password 123

    路径和登录账号、密码要修改下。代码就这么简单。

    经测试,我在Windows系统上实现正常,如有不明白的可以和我深入讨论。

     svn允许日志可以修改

    SET REPOS="%1"
    SET REV="%2"
    SET USER="%3"
    SET PROPNAME="%4"
    SET ACTION="%5"

    IF %ACTION% == "M" (IF %PROPNAME% == "svn:log" (EXIT 0))

    ECHO "Changing revision properties %PROPNAME% is prohibited" >&2
    EXIT 1

  • 相关阅读:
    动态规划专题选做
    「HZOJ NOIP2020 Round #13」20201127模拟 题解
    「HZOJ NOIP2020 Round #12」20201124模拟 简要题解
    JOI 2019 Final 硬币收藏 第18回日本情報オリンピック 本選 コイン集め 解説
    0202S-SCP 收容记
    NC50993 The XOR Largest Pair 0-1Trie Xor
    LG3120 [USACO15FEB]Cow Hopscotch G CDQ分治维护DP顺序
    2020牛客NOIP赛前集训营-提高组(第二场)
    「HZOJ NOIP2020 Round #5」20201018 模拟
    关于我
  • 原文地址:https://www.cnblogs.com/BuBu/p/3071267.html
Copyright © 2011-2022 走看看