有哪些常用且有用的 SVN 预提交钩子?
有哪些常用且有用的 SVN 预提交钩子?
用户实际输入了评论并且其中包含特定问题号以进行跟踪。
检查各种文本文件中是否存在绝对路径(例如VRML、XML等)。大多数已经检查过的代码不应该有绝对路径,但某些人和工具坚持要制作硬编码的东西。
我对提交的消息进行字数统计。它们需要五个或更多单词。这导致了一些滑稽的侮辱我的事情发生...
$svnlook log -t "$txn" "$repos"
;
chomp($comment);if ( $comment !~ m/((\b[\S]{2,}\b)\s*){$numberOfWords,}/ ) {
print STDERR "请在提交信息中输入更多细节。\n";
exit(1);
}exit(0); - sleep-er我喜欢使用svn
钩子来实现以下目的:
我会检查文件类型,确保不会意外提交某些禁止的类型(例如.obj、.pdb)。自从有人第一次提交了2GB的编译器生成的临时文件后,这种情况就再也没有发生过。
对于Windows操作系统:
@echo off
svnlook log -t "%2" "%1" | c:\tools\grep -c "[a-zA-z0-9]" > nul
if %ERRORLEVEL% NEQ 1 goto DISALLOWED
echo Please enter a check-in comment 1>&2
exit 1
:DISALLOWED
svnlook changed -t %2 %1 > c:\temp\pre-commit.txt
findstr /G:"%1\hooks\ignore-matches.txt" c:\temp\pre-commit.txt > c:\temp\precommit-bad.txt
if %ERRORLEVEL% NEQ 0 exit /b 0
echo disallowed file extension >> c:\temp\precommit-bad.txt
type c:\temp\precommit-bad.txt 1>&2
exit 1
我使用一个post-commit钩子将作者属性从我们的ldap树中的员工ID重写为友好名称。(身份验证使用员工ID)