`
xgene
  • 浏览: 28066 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

svn-hook学习备忘-

阅读更多
以下代码部分来自网上
用VBS脚本检查提交log是否足够(长)
pre-commit.bat内容
:: begin of pre-commit.bat
:: 阻止空日志信息的版本的提交

@echo off

SETLOCAL

SET REPOS=%1
SET TXN=%2

cscript D:\svn\repository\demo\hooks\pre-commit.vbs "%REPOS%" "%TXN%"

:: end of pre-commit.bat

pre-commit.vbs代码
'必须显式声明变量
Option Explicit

Private Args
Public wshShell,logExec

Set wshShell = WScript.CreateObject("WScript.Shell")
Set Args = WScript.Arguments

Dim MaxArgs
MaxArgs = 2

'调用主要处理流程
Call Main

'*******************************************************************************
'Main()过程定义
'*******************************************************************************
Private Sub Main()

Call ArgsErr

Call CheckLog

End Sub 'Main()


'*******************************************************************************
'出错退出函数,统一进行资源释放
'*******************************************************************************
private sub ErrExit()

Set Args = Nothing
Set wshShell = Nothing
Set logExec =Nothing

'错误返回
WScript.Quit (1)

end sub 'ErrExit()


'*******************************************************************************
'参数出错处理
'*******************************************************************************
Private Sub ArgsErr()

    If (Args.Count < MaxArgs) Then

        '在系统信息中记录此错误信息(事件查看器)
        wshShell.LogEvent 1, "缺少参数个数!"
    
        '错误信息输出到客户端
        WScript.StdErr.WriteLine("缺少参数个数!")

        '错误返回
        Call ErrExit()
    End If

End Sub 'ArgsErr()

'*******************************************************************************
'日志检查
'*******************************************************************************
Private Sub CheckLog()

Dim sReposPath, sRevision, sCommand, sLog

sReposPath = cstr(Args(0))
sRevision = cstr(Args(1))

'合成svnlook 命令 
sCommand = "D:/svn/bin/svnlook.exe log " + sReposPath + " -t " + sRevision

Set logExec = wshShell.Exec(sCommand)

'读取svnlook log命令返回结果
Do While Not logExec.StdOut.AtEndOfStream
     sLog = logExec.StdOut.ReadAll()
loop

if len(sLog)<=10 then
     WScript.StdErr.WriteLine("备注太短,至少10字!")
     Call ErrExit()
end if
End Sub

注意VBS代码文件的保存格式使用UNICODE,不然出现乱码,命令行工具需要在系统PATH路径中,否则需要全路径
分享到:
评论

相关推荐

    TortoiseSVN-1.10.1.28295-win32-win64-svn-1.10.2

    TortoiseSVN-1.10.1.28295-win32-win64-svn-1.10.2TortoiseSVN-1.10.1.28295-win32-win64-svn-1.10.2TortoiseSVN-1.10.1.28295-win32-win64-svn-1.10.2TortoiseSVN-1.10.1.28295-win32-win64-svn-1.10.2TortoiseSVN-...

    SVN 客户端下载 TortoiseSVN-1.14.6.29673-x64-svn-1.14.3

    SVN 客户端下载 TortoiseSVN-1.14.6.29673-x64-svn-1.14.3

    AnkhSvn-2.1.7444.278.msi & AnkhSvn-2.1.8420.8.msi

    这个压缩包包含了两个不同版本的AnkhSvn插件:AnkhSvn-2.1.7444.278.msi和AnkhSvn-2.1.8420.8.msi。这两个版本可能在功能上有所差异,适应不同的系统环境或者与Visual Studio的兼容性。 首先,我们来了解一下Ankh...

    change-svn-wc-format

    1、cmd进入py文件目录下执行py文件加入--help查看帮助,命令C:\change-svn-wc-format&gt;change-svn-wc-format.py --help 2、cmd执行下面命令,把项目对应SVN从1.5降为1..4 change-svn-wc-format.py d:\Mydropbox\...

    TortoiseSVN-1.8.8.25755-x64-svn-1.8.10&AnkhSvn-2.5.12471.17

    标题中的"TortoiseSVN-1.8.8.25755-x64-svn-1.8.10"和"AnkhSvn-2.5.12471.17"指的是两个不同的Subversion(SVN)客户端工具。Subversion是一种版本控制系统,用于管理文件和目录的版本历史,对于软件开发团队协作...

    SVN-site-1.8.22 离线安装包

    SVN-site-1.8.22是SVN的一个特定版本,专注于提供网站或项目站点的部署功能。 在离线安装包中,"site"通常指的是服务器端的配置文件、文档、示例和脚本等资源,这些对于搭建和管理SVN服务器至关重要。在提供的文件...

    SVN-1.14.1.29085-x64-svn-1.14.1+LanguagePack_1.14.1.29085-x64-zh_CN

    总之,SVN-1.14.1.29085-x64-svn-1.14.1和TortoiseSVN-1.14.1.29085-x64-svn-1.14.1.msi的组合提供了一个强大的版本控制解决方案,加上中文语言包,使得中国用户在软件开发和协作过程中能够更加高效和便捷地管理代码...

    TortoiseSVN-1.14.5.29465-x64-svn-1.14.2.rar

    《TortoiseSVN-1.14.5.29465-x64-svn-1.14.2.rar:一个强大的版本控制系统工具》 TortoiseSVN,这个名字可能对许多开发者而言并不陌生,它是一个高度集成在Windows资源管理器中的Subversion(SVN)客户端。这个名为...

    TortoiseSVN-1.7.12.24070-win32-svn-1.7.9.msi包含中文语言包

    这个标题"**TortoiseSVN-1.7.12.24070-win32-svn-1.7.9.msi包含中文语言包**"指的是TortoiseSVN的特定版本1.7.12,该版本适用于32位Windows系统,并且包含了中文语言支持。这意味着用户在安装这个软件后,可以使用...

    TortoiseSVN-1.14.0.28885-x64-svn-1.14.0

    《TortoiseSVN-1.14.0.28885-x64-svn-1.14.0及其简体中文语言包详解》 TortoiseSVN,一个深受开发者喜爱的版本控制系统客户端,是Subversion(SVN)在Windows平台上的图形化界面。版本号为1.14.0.28885的x64位版本...

    svn-python-1.6.6.win32-py2.5.exe

    svn-python-1.6.6.win32-py2.5.exe

    前端开源库-svn-spawn

    在【node-svn-spawn-master】这个压缩包中,包含了svn-spawn库的源码,你可以通过阅读和学习源码来了解其内部工作原理,或者直接在自己的项目中安装和使用。安装步骤通常是使用npm(Node.js包管理器)进行,例如: `...

    TortoiseSVN-1.8.0.24401-X64-svn-1.8.0 汉化包64位

    TortoiseSVN-1.8.0.24401-X64-svn-1.8.0 汉化包64位

    TortoiseSVN-1.9.7.27907-x64-svn-1.9.7(SVN及汉化包)

    这个压缩包“TortoiseSVN-1.9.7.27907-x64-svn-1.9.7”包含了TortoiseSVN的1.9.7版本,这是一个64位的应用程序,适用于Windows操作系统。此版本号(1.9.7.27907)表明这是该软件的一个稳定版本,提供了若干改进和...

    SVN-site-1.8.22.rar

    "SVN-site-1.8.22.rar" 是一个包含Eclipse SVN插件的压缩包,适用于Eclipse IDE,版本为1.8.22。这个插件使得开发者能够在Eclipse环境中直接进行SVN操作,如代码的提交、更新、冲突解决等。 Eclipse是一款功能强大...

    TortoiseSVN-1.8.4.24972-x64-svn-1.8.5 中文语言包64位

    TortoiseSVN-1.8.4.24972-x64-svn-1.8.5 中文语言包64位

    TortoiseSVN-1.14.1.29085-x64-svn-1.14.1.msi

    TortoiseSVN-1.14.1.29085-x64-svn-1.14.1.msi

    64位系统的TortoiseSVN-1.14.3.29387-x64-svn-1.14.2

    64位系统的TortoiseSVN-1.14.3.29387-x64-svn-1.14.2

    TortoiseSVN-1.14.5.29465-x64-svn-1.14.2

    《TortoiseSVN-1.14.5.29465-x64-svn-1.14.2:Windows上的版本控制利器》 TortoiseSVN是广受欢迎的开源版本控制系统Subversion(SVN)的图形用户界面,专为Windows操作系统设计。在软件开发过程中,版本控制系统...

    TortoiseSVN-1.11.0.28416-x64-svn-1.11.0及汉化包

    《TortoiseSVN-1.11.0.28416-x64-svn-1.11.0及汉化包》 本文将深入探讨TortoiseSVN这一版本控制系统的重要组成部分,以及如何通过提供的汉化包进行中文环境的设置,帮助中文用户更方便地使用这款强大的工具。 ...

Global site tag (gtag.js) - Google Analytics