- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SVN使用钩子强制提交日志和限制提交文件类型
SVN使用钩子强制提交日志和限制提交文件类型??? Subversion本身有很好的扩展性,用户可以通过钩子实现一些自定义的功能。所谓钩子实际上是一种事件机制,当系统执行到某个特殊事件时,会触发我们预定义的动作,这样的特殊事件在Subversion里有很多。那么SVN的钩子有哪些呢?下面简单介绍下:?【服务器钩子】?1)锁定的2种pre-lock钩子在每次有人尝试锁定文件时执行。可以防止完全锁定,或者用来创建控制哪些用户可以锁定哪些路径的复杂策略。如果钩子发现已存在锁,也可以决定是否允许用户“窃取”这个锁。post-lock在路径锁定后执行。通常用来发送锁定事件邮件通知。2)解锁的2种pre-unlock钩子在某人企图删除一个文件上的钩子时发生。可以用来创建哪些用户可以解锁哪些文件的策略。制定解锁策略非常重要。如果用户 A 锁定了一个文件,允许用户B 打开这个锁?如果这个锁已经一周了呢?这种事情可以通过钩子决定并强制执行。post-unlock在一个或多个路径已经被解锁后执行。通常用来发送解锁事件通知邮件。3)提交的3种start-commit它在提交事务产生前已运行,通常用来判定一个用户是否有权提交。版本库传给该程序两个参数:到版本库的路径,和要进行提交的用户名。如果程序返回一个非零值,会在事务产生前停止该提交操作。如果钩子程序要在stderr中写入数据,它将排队送至客户端。pre-commit在事务完成提交之前运行,通常这个钩子是用来保护因为内容或位置(例如,你要求所有到一个特定分支的提交必须包括一个bug追踪的ticket号,或者是要求日志信息不为空)而不允许的提交。版本库传递两个参数到程序:版本库的路径和正在提交的事务名称,如果程序返回非零值,提交会失败,事务也会删除。如果钩子程序在stderr中写入了数据,也会传递到客户端。post-commit它在事务完成后运行,创建一个新的修订版本。大多数人用这个钩子来发送关于提交的描述性电子邮件,或者作为版本库的备份。版本库传给程序两个参数:到版本库的路径和被创建的新的修订版本号。退出程序会被忽略。4)属性的2种pre-revprop-change因为Subversion的修订版本属性不是版本化的,对这类属性的修改(例如提交日志属性svn:log)将会永久覆盖以前的属性值。因为数据在此可能丢失,所以Subversion提供了这种钩子(及与之对应的post-revprop-change),因此版本库管理员可用一些外部方法记录变化。作为对丢失未版本化属性数据的防范,Subversion客户端不能远程修改修订版本属性,除非为你的版本库实现这个钩子。post-revprop-change这个钩子与pre-revprop-change对应。事实上,因为多疑的原因,只有存在pre-revprop-change时这个脚本才会执行。当这两个钩子都存在时,post-revprop-change在修订版本属性被改变之后运行,通常用来发送包含新属性的email。版本库传递四个参数给该钩子:到版本库的路径,属性存在的修订版本,经过校验的产生变化的用户名,和属性自身的名字。?【客户端钩子】?1)提交的start commit hookpre-commit hookpost-commit hook2)更新的start update hookpre-update hookpost-update hook?如何使用SVN钩子强制提交日志和限制提交文件类型,需用到的是服务端钩子pre-commit,编写pre-commit.bat脚本如下:@echo onrem SVN强制写注释的hooks脚本(Windows) rem 文件名是: pre-commit.bat,放到repository/hooks目录下setlocalset SVN_BINDIR=C:\Program Files (x86)\VisualSVN Server\bin\ set REPOS=%1set TXN=%2cd %SVN_BINDIR%rem 检查是否提交日志svnlook.exe log -t %TXN% %REPOS% | findstr .......... nulif %errorlevel% gtr 0 gotonologrem 过滤文件类型svnlook changed -t %TXN% %REPOS% | findstr class$ if %errorlevel% EQU 0 (gotoSuffixError) svnlook changed -t %TXN% %REPOS% | findstr obj$ if %errorlevel% EQU 0 (gotoSuffixError) svnlook cha
您可能关注的文档
- RPT技能加点推荐及部分词汇对照和物品详解.docx
- RTK(合众思壮)简易操作说明.doc
- RTKLIB243中文说明书.doc
- RYS-WTZ-280WTQ-280系列压力式温度计说明书.doc
- R语言学习系列05-数据文件的读写.docx
- RWD68温度控制器现场使用说明.doc
- RS485联动卡使用说明书V11.doc
- S012菜单说明.doc
- S-CTER二次电流互感器过压保护器使用说明书.doc
- S1-1设计说明(铁炉沟桥).doc
- 七章货物的保险.pptx
- 三章国际间接投资.pptx
- 人性假设理论.pptx
- 外研高一英语必修三ModuleIntroduction汇总市公开课获奖课件省名师示范课获奖课件.pptx
- 月相成因优质获奖课件.pptx
- 小学二年级语文课件《狐假虎威》省名师优质课赛课获奖课件市赛课一等奖课件.pptx
- 养羊业概况专题知识讲座.pptx
- 微生物的实验室培养市公开课获奖课件省名师示范课获奖课件.pptx
- 人教版六年级下册式与方程整理与复习市公开课获奖课件省名师示范课获奖课件.pptx
- 必威体育精装版高中精品语文教学:第二单元-第7课-诗三首:涉江采芙蓉、-短歌行、归园田居市公开课获奖课件省名师.pptx
文档评论(0)