svn hook 脚本所需的egrep 部分

svn hook 脚本所需的egrep 部分

我正在尝试< application>_ < project >_ < version>_ < iteration>使用 shell 脚本编写一个预提交挂钩脚本来强制执行标签命名约定,任何人都可以指导我找到一个文档/链接,我可以浏览并创建一个文档/链接。我已经浏览了很多链接,但对我不起作用

我正在尝试这样的事情

ERROR=$SVNLOOK changed $REPO -t $REV |$EGREP "^A.+?/([a-z0-9_]+)/tags/\1-[0-9]+.[0-9]+.[0-9]+(.[0-9]+)?-(dev|rc[0-9]+|final)/.*$" |$WC -l


#!/bin/sh

REPO="$1"
REV="$2"
ERROR=0
SVNLOOK=/usr/bin/svnlook

AWK=/bin/awk
GREP=/bin/grep
EGREP=/bin/egrep
WC=/usr/bin/wc


ERROR=`$SVNLOOK changed $REPO -t $REV |$EGREP -i "^A.+/tags/.+$" |$WC -l`
if [ $ERROR -ne 0 ]
then

  ERROR=`$SVNLOOK changed $REPO -t $REV |$EGREP "^A.+?/([a-z0-9_]+)/tags/\1-[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?-(dev|rc[0-9]+|final)/.*$" |$WC -l`
  if [ $ERROR -eq 0 ]
  then
    echo "Tag isn't in the correct format" 1>&2
    exit 1
  fi

例子:FV_SSE-MAY-14_2.1.0_03

其中:应用程序 = FV 项目 = SSE-MAY-14 版本 = 2.1.0 迭代 = 03

答案1

也许这有帮助:

echo FV_SSE-MAY-14_2.1.0_03 | 
  LC_ALL=C egrep "^[A-Z]+_[A-Z]+-[A-Z]+-[0-9]?[0-9]_[0-9]+\.[0-9]+\.[0-9]+_[0-9]+$"

相关内容