SVN钩子随笔

通过SVN钩子限制提交的条件


1. "钩子"是什么?

钩子, 通常意义上讲就是可以钩到某个事物上, 而这里的钩子其实就是将钩子钩到我们正在执行的操作上(比如提交版本这件事, 检出等操作), 和事件监听一样, 只要你做了什么, 我就相应的执行操作

2. 通过钩子对SVN版本提交限制日志至少要6个字符

  1. 找到项目的目录, 目录下会有hooks目录, hoosk目录下就是钩子发生, svn默认调用的脚本文件, (当然也可以通过可视化工具自己配置对应的事件指定对应的脚本文件, 但是这里用默认的来举例)


  2. tmpl文件是用来展示实例的, windows默认调用.bat文件, linux默认调用.sh文件, pre-commit是提交前执行的钩子, post-commit是提交完成后要执行的钩子, start-commit即提交未完成之前执行的钩子. 这有咩有像面向切面编程的AOP呢?

  3. 编辑pre-commit.bat文件

     @echo off  
     ::     
     :: Stops commits that have empty log messages.  
     ::  
    
     @echo off  
       
     set svnlook="D:/Program Files (x86)/VisualSVN Server/bin/svnlook.exe"
     setlocal  
       
     rem Subversion sends through the path to the repository and transaction id  
     set REPOS=%1  
     set TXN=%2  
       
     rem check for an empty log message  
     %svnlook% log %REPOS% -t %TXN% | findstr ...... > nul  
     if %errorlevel% gtr 0 (goto err) else exit 0  
       
     :err  
     echo. 1>&2  
     echo you have to type at least 6 words to commit! 1>&2  
     exit 1
    
  4. 测试


3. 其实SVN的钩子还可限制上传文件的扩展名, 等等, 只要是可以拿到的属性, 都可做出相应的判断的, 其他的还需要对 windows脚本和shell脚本进一步的熟悉才行, 所以下次准备看一下关于脚本的学习喽

PS: 最近一直在找一个好的随记编辑工具, 最后发现markdown语法确实很不错, 之后又发现了MarkdownPad2这个软件, 简直顺手到爆炸, 轻松搞定简单的排盘布局: 效果如下


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,237评论 19 139
  • iOS 开发 SVN 版本控制器 更多技术交流请加群 iOS技术联盟 27512466 SVN是Subversio...
    Sunny_Fight阅读 12,872评论 7 63
  • .bat脚本基本命令语法 目录 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...
    庆庆庆庆庆阅读 12,645评论 1 19
  • 昨天看到一篇文章写的就是一个断腿的女孩自信面对生活的事情,那种对生活积极面对的态度正是我们现在很多人所残缺的,今天...
    3f17274cd933阅读 1,490评论 0 0
  • 七言古风/闺思 作者:心博 东望霞红衬艳阳,穿窗入户照寒床。 佳人远眺意千里,思绪高飞极八荒。 玉洁冰心如白露,冰...
    心博1阅读 2,405评论 1 1

友情链接更多精彩内容