【发布时间】:2019-06-06 03:32:54
【问题描述】:
我正在尝试为 SVN 存储库创建一个预提交挂钩,如果版本号包含 7.5,它将阻止提交
VERSIONNUM="<COMMENT>7.5"
grep -Fwq "$VERSIONNUM" APP.CFG
then
exit 1
else
exit 0
fi
版本号位于 APP.CFG 文件中,行首是 7.5。我不想匹配整行,这就是为什么我在我的 grep 中使用 -w 的原因,我认为如果 $VERSIONNUM 位于文件中的任何位置,它只会返回一个匹配项
这是APP.CFG文件的内容
> <?xml version="1.0" encoding="utf-8"?> <APP AUTH="" PRODUCTS="2"
> VER="hmidesigner"> <VERSION AUTHOR="CODRA" DATE_NEUTRAL="01/11/2019
> 09:48:48" ID="CODRA.Panorama.Persist" SERIAL_VERSION="7">
> <COMMENT>7.5.17.0</COMMENT>
【问题讨论】:
-
那么现在什么不起作用?
-
它目前什么都不做,允许每次提交,无论它是否是 7.5 版
-
所以
APP.CFG包含一行7.5?为什么要使用<COMMENT>字符串搜索? -
因为 APP.CFG 文件包含其他信息,它可能在其他地方包含 7.5,但它永远不会包含
7.5,除非它引用版本号 -
脚本无效,因为
if then else fi构造缺少if关键字,请尝试在grep 之前添加if
标签: bash svn tortoisesvn pre-commit-hook