我正在尝试从SVN中的事务中获取用户名来提交回购。
我在pre-commit hook
中写了以下内容:
REPOS="$1"
TXN="$2"
touch /root/home/r/WC/log.log
AUTHOR="$(svnlook author -t $TXN $REPOS)"
echo $AUTHOR >> /root/home/r/WC/log.log
exit 0
结果是$(svnlook author -t 12-r /root/home/r/REPO)
显然TXN和REPOS变量是内插的,但svnlook author
命令没有被执行。
我尝试了其他编写命令的方法,例如
AUTHOR=$(svnlook author -t $TVN $REPOS) # returned syntax error
AUTHOR=`svnlook author -t $TVN $REPOS` # did not execute the svnlook command
我在Solaris上运行SVN 1.8
答案 0 :(得分:3)
在预提交中,可能未定义svnlook
命令,这就是您以字符串格式获取它的原因。
您需要在命令行上执行svnlook
来找出which svnlook
的路径。
它将返回类似/nettools/subversion/svn1.8.10/bin/
现在,您可以执行以下操作:
AUTHOR=`/nettools/subversion/svn1.8.10/bin/svnlook author -t $TXN $REPOS`
然后echo "$AUTHOR"