<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jasmine214--love

    只有當你的內(nèi)心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
    posts - 731, comments - 60, trackbacks - 0, articles - 0
    我想用過Subversion的人一定有過這樣的問題:“為什么不允許用戶修改日志?”,因為這種改變不可還原(目前這個操作還沒有受到版本控制 的管理),所以這項功能默認是被禁止的。如果要開啟它,必須設(shè)置一個pre-revprop-change鉤子。

    版本庫生成后,hooks目錄下就存在一些鉤子腳本的模板,用戶可以作為參考。這里我們可以把已經(jīng)存在的pre-revprop- change.tmpl復制一份,將復制后的文件名改為pre-revprop-change.bat,鉤子就設(shè)置好了。注意Windows下鉤子腳本必 須以.bat或者.exe的擴展名形式存在。

    默認的鉤子模板使用的是linux下的腳本語言,不能在Windows下運行。所以我們必須重寫,這里介紹用批處理文件來寫鉤子腳本的方法。最簡 單的允許修改日志的pre-revprop-change.bat連一行都不需要,直接把pre-revprop-change.bat的內(nèi)容清空就行 了,因為按照Subversion的約定,鉤子腳本返回0就是允許修改任何屬性。(關(guān)于鉤子腳本的約定可參考這篇文章 http://blog.donews.com/foxgem/archive/2005/11/03/613854.aspx)

    但是假如我們希望作些判斷,比如只允許修改日志,而不允許修改用戶名或者其他屬性,那么下面是一個范例:

    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
    利用Subversion的一個程序svnlook,腳本中可以訪問的信息就不僅僅只有傳遞進來的5個參數(shù)了,從而可以實現(xiàn)更多的功能。比如判斷 修改日志的用戶是不是以前進行提交的那個作者,如果不是就不允許修改。

    只允許用戶修改自己的svn日志的鉤子腳本:

    for /f "usebackq" %%k in (`svnlook author %1 -r%2`) do @set var=%%k

    if "%3" == "%var%" goto test
    if "%3" == "li" goto test
    exit 1

    :test
    if "%4" == "svn:log" exit 0
    echo Property '%4' cannot be changed >&2
    exit 1
    實現(xiàn)每人可以修改自己的log日志,而管理員li可以任意修改。這個例子是從網(wǎng)上摘抄來的,因為手頭上缺少svnlook,所以沒有進行測試。
    ----------------------------------------------------------------------

    Subversion提交強制寫日志(windows)

    在每次提交的時候?qū)懨魈峤坏哪康氖且粋€很好的習慣,Subversion默認沒有提供,但是可以通過鉤子實現(xiàn):

    將下面的代碼存為pre-commit.bat放到版本庫的hooks目錄下即可,當你不寫日志提交的話就會報告錯誤。(如果你下載使用,需要修 改SVN_BINDIR為你的Subversion安裝的程序目錄)


    @echo off
    set SVN_BINDIR=d:\Subversion\bin
    setlocal
    set REPOS=%1
    set TXN=%2
    rem check that logmessage contains at least 10 characters
    %SVN_BINDIR%\svnlook log "%REPOS%" -t "%TXN%" | findstr ".........." > nul
    if %errorlevel% gtr 0 goto err
    exit 0
    :err
    echo Empty log message not allowed. Commit aborted! 1>&2
    exit 1

    原文:http://hi.baidu.com/ayifa/blog/item/0d0fda16d0450d14972b43b3.html
    主站蜘蛛池模板: 国产一区二区三区免费| 黄色三级三级免费看| 中国毛片免费观看| 亚洲成av人片在线观看天堂无码| 97se亚洲国产综合自在线| 91黑丝国产线观看免费| 亚洲天堂男人天堂| 1000部免费啪啪十八未年禁止观看| 久久久久亚洲Av片无码v| 十八禁在线观看视频播放免费| 狠狠亚洲狠狠欧洲2019| 成人免费777777被爆出| 亚洲国产婷婷六月丁香| 一级毛片全部免费播放| 亚洲黄色网址在线观看| 曰批全过程免费视频在线观看| 亚洲精品国产日韩| 国产一区二区三区在线免费观看 | 在线观看成人免费| 亚洲暴爽av人人爽日日碰| 国产精品深夜福利免费观看| 美女裸体无遮挡免费视频网站| 久久精品亚洲乱码伦伦中文| 免费看无码特级毛片| 亚洲国产成a人v在线| 国产麻豆剧传媒精品国产免费| 污视频网站免费观看| 亚洲精品亚洲人成在线观看| 永久看日本大片免费35分钟| 亚洲中文无码亚洲人成影院| 免费人成年激情视频在线观看| 少妇性饥渴无码A区免费| 亚洲成a人片7777| 一本久到久久亚洲综合| 中文字幕无码毛片免费看| 亚洲高清视频在线播放| 国产美女a做受大片免费| 精品一卡2卡三卡4卡免费视频 | 亚洲一本一道一区二区三区| 免费a级毛片在线观看| 久久er国产精品免费观看2|