我试图在pre commithook中获得完整的提交评论。以下是我的代码,
设置REPOS =%1设置TXN =%2SET评论FOR / F“tokens = *”%% g IN(‘svnlook log%REPOS%-t%TXN%’)do(SET comment =%…
你基本上有一个延迟扩展问题。在执行代码行之前批处理文件如何扩展变量是一个奇怪的事情。因此,您有两种方法可以解决此问题。
启用延迟扩展并使用感叹号引用变量。
setlocal enabledelayedexpansion FOR /F "tokens=*" %%g IN ('svnlook log %REPOS% -t %TXN%') do (SET comment=!comment!%%g)
用一点点诡计 CALL 命令。你将百分比符号加倍并使用CALL命令,它给你两个变量扩展阶段。
CALL
FOR /F "tokens=*" %%g IN ('svnlook log %REPOS% -t %TXN%') do (CALL SET comment=%%comment%%%%g)