我似乎无处可去。在网络上搜索脚本等。任何人都有一个脚本,您可以在 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/