我想在SVN中创建一个预提交挂钩(即Windows的.bat文件),用于检查空的日志消息。此外,我想仅针对SVN中的特定文件夹进行此检查。
有人可以帮忙吗?
此致 Ruhee Jaiswal
答案 0 :(得分:1)
如果您使用的是Windows并使用TortoiseSVN,我建议您使用svn属性。
tsvn:logminsize设置提交的日志消息的最小长度。 如果输入的消息比此处指定的短,则提交为 禁用。此功能对于提醒您提供此功能非常有用 每次提交都有适当的描述性消息。如果这个属性不是 设置,或者值为零,允许空日志消息。
另外,请务必查看other features类似错误跟踪器集成。
如果您真的想在服务器端使用挂钩执行此操作,可以尝试this,在这种情况下,您的问题是重复的:)
答案 1 :(得分:0)
答案 2 :(得分:0)
如果您对TortoiseSVN没问题,可以在那里输入client-side hook。
TortoiseSVN将以下参数传递给预提交钩子:
PATH DEPTH MESSAGEFILE CWD
有趣的是PATH
:
PATH
包含启动操作的所有路径的临时文件的路径。每个路径都位于临时文件中的单独一行。
因此,当你的钩子被调用时(可以使用任何语言),请执行以下步骤:
MESSAGEFILE
的内容。如果里面有评论,一切都很好,从脚本返回成功(我不记得成功是用0还是0表示,只是试一试)MESSAGEFILE
为空,请浏览文件PATH
并查看其中是否存在受影响的元素。如果是,则返回错误;否则就会成功。答案 3 :(得分:0)
除了这个答案Windows Pre-commit hook for comment length Subversion,您还可以使用svnlook dir-changed
来检查当前提交的特定目录。
所以你可以添加像
这样的东西svnlook dir-changed %REPOS% -t %TXN% | findstr your_path > nul
if %errorlevel% equ 0 exit 0
svnlook log %REPOS% -t %TXN% | findstr . > nul
if %errorlevel% gtr 0 (goto err) else exit 0