用于注释长度 Subversion 的 Windows 预提交 Hook

标签 windows svn tortoisesvn svn-hooks pre-commit

我似乎无处可去。在网络上搜索脚本等。任何人都有一个脚本,您可以在 Windows 环境中编辑开箱即用的 pre-commit.tmpl,这需要输入 x 个字符以对 Tortoise Subversion 中的提交发表评论全局以便团队中的所有成员都需要,而此要求从 SVN 服务器推送到客户端?

我不知道脚本语言,如果我不花时间在接下来的 3 小时内弄清楚脚本,这应该是非常简单的事情。

最佳答案

这是一个需要有注释的.bat 文件。它检查评论中是否存在至少一个字符。

 @echo off  
 :: Stops commits that have empty log messages.        
 @echo off  

 setlocal  

 rem Subversion sends through the path to the repository and transaction id  
 set REPOS=%1  
 set TXN=%2           

 svnlook log %REPOS% -t %TXN% | findstr . > nul  
 if %errorlevel% gtr 0 (goto err) else exit 0  

 :err  
 echo. 1>&2  
 echo Your commit has been blocked because you didn't enter a comment. 1>&2  
 echo Write a log message describing the changes made and try again. 1>&2
 echo Thanks 1>&2
 exit 1

此文件位于存储库的/hooks 文件夹中,名为 pre-commit.bat。如果您需要最少的字符数,要修改的行是

svnlook log %REPOS% -t %TXN% | findstr . > nul

所以如果你想要至少 10 个字符,你需要有 10 个 . 而不是一个

svnlook log %REPOS% -t %TXN% | findstr .......... > nul

更多advanced options for the findstr命令会让你做更高级的检查(某些字符集等)

关于用于注释长度 Subversion 的 Windows 预提交 Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/869248/

相关文章:

svn - 合并后无法将 jar 文件提交到 svn : 502 'Bad Gateway'

javascript - 支持触摸的桌面 HTML Kiosk

eclipse "this compilation unit is not on the build path of a java project"

python - 在 mingw/cygwin 上构建时如何让 PIL 工作?

svn - Subversion 不会更新到旧版本

svn - 跨服务器迁移 Subversion 存储库

svn - 乌龟SVN命令问题

svn - TortoiseSVN 更新命令行参数

windows - 如何使用 VBScript 确定我运行的是 32 位还是 64 位 Windows 操作系统?

linux - 如何从本地安装的 Ubuntu 访问我的 WSL2 文件?