我在计算机中安装了SVN和乌龟SVN。我创建了一个批处理文件" .bat"。我正在尝试获取日志消息来验证在提交之前在UI中提供的。
我尝试了以下错误失败的答案。
svnlook: E720003: Can't open file 'C:UsersGOPICH~1AppDataLocalTempsvnC891.tmpformat': The system cannot find the path specified.
任何人都可以指导我的问题是(或(是否有同样的事情。
我在svnlook log
附加format
时遇到问题。
从stderr返回到"提交失败对话框"的参数称为:
path depth messagefile cwd
这些参数是通过在提交失败失败时在此答案中使用代码的。
第一个和第三个位于临时目录中的.tmp文件。(第一是要提交的文件列表(。
第三参数是消息文件,因此您可以使用它来检查是否使用了消息。
@echo off
findstr . "%~3" >nul
if errorlevel 1 echo args: %* >&2 & exit 1
exit 0
,如果消息文件为空,则导致提交失败允许提交成功。
问题:
- 消息文件中只有一个空间会导致提交失败。
- 消息文件中只有双重空间允许提交。
似乎可以改善findstr
模式。这可能是个人喜好,因此将链接的答案模式与问题保持在一起。
想法Aschipfl在评论中共享:
@echo off
if %~z3 gtr 0 (exit 0) else exit 1
消息文件中的任何字符都使文件的大小为零。
afaik,stdout被重定向为钩子脚本,因此无法使用,因此,可能不需要@echo off
。
注意:用SVN-CLIENT 进行测试,这可能就是svnlook log
的原因给了我奇怪的结果。感谢Aschipfl提供的信息。