Windows Pre-Commit挂钩以获取有关乌龟颠覆的日志消息



我在计算机中安装了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提供的信息。

最新更新