Chinaunix首页 | 论坛 | 博客
  • 博客访问: 148570
  • 博文数量: 29
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 368
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-17 18:06
个人简介

一个直来直去的人,被生活折磨的弯弯曲曲。

文章分类

全部博文(29)

文章存档

2019年(1)

2017年(1)

2014年(13)

2013年(14)

我的朋友

分类: 服务器与存储

2014-03-12 21:23:11

百度花钱买的,没成功,自己调整好了。


SVN提交内容时必须填写日志

这里需要用到钩子问题,具体呢只需在hooks文件夹下添加两个文件即可

第一个文件 pre-commit ,内容如下:

#!/bin/sh

REPOS="$1"

TXN="$2"

#SVNLOOK=D:\ProgramFiles\Subversion\bin\svnlook.exe  # svnlook.exe的安装路径
SVNLOOK=/usr/bin/svnlook

# check that logmessage contains at least 10 alphanumeric characters  ##设置日志需填写至少10个字符

LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`

if [ "$LOGMSG" -lt 10 ];

then

  echo -e "\nEmpty log message not allowed. Commit aborted!" 1>&2

  exit 1

fi

第二个文件pre-commit.bat ,内容如下:

@echo off

setlocal

set REPOS=%1

set TXN=%2

rem check that logmessage contains at least 10 characters

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

#set REPOS=%1 

#  set TXN=%2   还记得我们前面提到的但事务提交时,会传递两个参数吗?这里就是分别用来接收URL和事务号的

   

#svnlook log "%REPOS%" -t "%TXN%" | findstr ".........." > nul 

#   这句是核心程序。首先svnlook log是用来查看某个版本库某次提交的log的,那么我们怎么知道这两个

#   参数呢?答案就是我们前面已经保存的REPOSTXN参数。

#  它的作用是查看%REPOS%这个URL%TXN%次提交的log信息,那么| findstr ".........."呢?细心

的读者会发现这里有10个圆点号,即表示10个字符。

#   整句的作用就是先获取当前提交的log内容,然后判断是否有10个字符以上

#echo Empty log message not allowed. Commit aborted! 1>&2

#   这句话的作用是当提交检查失败时,输出的提示信息


阅读(2907) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~