在不修改服务器配置的情况下使颠覆总是在空提交消息时中止
Make subversion always abort on empty commit message without modifying the server config
svn commit
从命令行调出我的编辑器让我写一条提交信息。然后,如果消息为空,它会询问
Log message unchanged or not specified
(a)bort, (c)ontinue, (e)dit:
我从不使用(或不想使用)继续或编辑选项。而且,由于我通常 运行 在后台提交,必须记住 fg
它才能回答问题,这很烦人。我经常收到 bash: a: command not found
错误。
我希望 svn
不询问并总是中止(就像 git
那样)。有配置选项吗?
编辑: 我在工作中使用了一个与 1000 多个其他开发人员共享的存储库,但我不是管理员。所以我需要在不修改服务器或其配置的情况下自动中止工作。
您可以使用 pre-commit hook 中止空提交消息。这并不太难,而且我相信 Subversion 带有一个模板预提交挂钩可以做到这一点。
使用svnlook log
命令拉出提交评论。如果它是空的,您可以使用非零退出代码退出并且提交将不起作用。您还可以将提交者将看到的内容打印到 STDERR,这样他们就知道为什么他们的提交被拒绝了。像这样:
log_message=$(svnlook -t $TXN log)
if [[ -z $log_message ]]
then
echo "Your commit message was empty. Recommit with a commit message" 1>&2
exit 2
else
exit 0
fi
我有一个更强大的 pre-commit hook,可以设置谁有权修改或添加特定文件,属性设置正确,提交消息格式正确。你可以看看那个。
没有这方面的配置选项。对提交施加的任何要求都必须通过服务器上的挂钩脚本执行。
如果这仅供您自己使用,您可以编写自己的 shell 脚本,在调用 svn
二进制文件执行提交之前为您执行检查。但是如果你在你的系统上使用任何其他客户端(比如 IDE 插件),这将会崩溃。
svn commit
从命令行调出我的编辑器让我写一条提交信息。然后,如果消息为空,它会询问
Log message unchanged or not specified
(a)bort, (c)ontinue, (e)dit:
我从不使用(或不想使用)继续或编辑选项。而且,由于我通常 运行 在后台提交,必须记住 fg
它才能回答问题,这很烦人。我经常收到 bash: a: command not found
错误。
我希望 svn
不询问并总是中止(就像 git
那样)。有配置选项吗?
编辑: 我在工作中使用了一个与 1000 多个其他开发人员共享的存储库,但我不是管理员。所以我需要在不修改服务器或其配置的情况下自动中止工作。
您可以使用 pre-commit hook 中止空提交消息。这并不太难,而且我相信 Subversion 带有一个模板预提交挂钩可以做到这一点。
使用svnlook log
命令拉出提交评论。如果它是空的,您可以使用非零退出代码退出并且提交将不起作用。您还可以将提交者将看到的内容打印到 STDERR,这样他们就知道为什么他们的提交被拒绝了。像这样:
log_message=$(svnlook -t $TXN log)
if [[ -z $log_message ]]
then
echo "Your commit message was empty. Recommit with a commit message" 1>&2
exit 2
else
exit 0
fi
我有一个更强大的 pre-commit hook,可以设置谁有权修改或添加特定文件,属性设置正确,提交消息格式正确。你可以看看那个。
没有这方面的配置选项。对提交施加的任何要求都必须通过服务器上的挂钩脚本执行。
如果这仅供您自己使用,您可以编写自己的 shell 脚本,在调用 svn
二进制文件执行提交之前为您执行检查。但是如果你在你的系统上使用任何其他客户端(比如 IDE 插件),这将会崩溃。