首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SVN预提交钩子,有没有办法在客户端窗口设置日志消息?

SVN预提交钩子,有没有办法在客户端窗口设置日志消息?
EN

Stack Overflow用户
提问于 2012-01-03 21:29:41
回答 2查看 613关注 0票数 1

感谢您阅读我的问题:)

我的目标是在触发对SVN-Server的提交之前修改此消息:

我已经有了一个启动和预提交钩子(C#),当我试图提交一些东西时,这两个钩子都会被调用。我还有一个可以正常工作的SharpSvn库。但不幸的是,我没有前进,我不知道如何填写这条消息。

那么,这是可能的吗?如果是,是如何实现的?我对每一个小提示都很高兴:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-04 05:38:29

提交钩子不会与客户端对话,除非出现故障。然后,它们将发送到Standard Error的所有内容发送给用户。钩子脚本不能更改提交的任何方面。(这并不完全正确:提交后挂钩可能会修改提交消息、作者和提交时间,但这通常是一个非常糟糕的想法。)

你可以做的就是确保你的提交消息的格式是正确的,如果格式不正确,提交失败,这将取决于用户是否以正确的格式重新提交他们的提交。

我不推荐使用内置的TortoiseSVN客户端钩子。这些都是在逐个机器的基础上完成的,因此用户可以选择不使用它们,如果用户使用不同的客户端(如VisualStudio AnkhSVN插件),这些插件将不起作用。

你没有提到你想要做什么或者为什么。

非常欢迎您使用用Perl语言编写的my hook。厨房水槽钩子执行几个任务,其中一个任务确保提交消息的格式是正确的。例如,您可以要求它包含缺陷跟踪ID,或者至少是...say…10个字符。

但是,如果用户的提交消息与条件不匹配,则钩子将导致提交失败,并且用户将不得不重试。诀窍是放置一个好的错误消息,这样用户就知道他们做错了什么。相信我,经过一两次尝试,用户就掌握了一个好的提交消息所需要的诀窍。

但是,您可能希望尝试一种稍微不同的方法:使用持续集成系统,如Jenkins

我注意到的是,一旦我在Jenkins上启动并运行了一个项目,提交消息就会自动改进。每一次Subversion提交都会转换为一个构建。但是,Jenkins还向您展示了以前和当前构建以及提交消息之间的所有更改。

这主要与可见性有关。在Jenkins之前,提交消息是相当隐蔽的。你只有在做svn log的时候才会看到它们,而且很少有人会经常这样做。然而,在Jenkins中,您可以在每次构建和提交时看到它。只需在网页上单击几下,您就可以看到历史记录、谁更改了它,以及他们更改了什么。

这可能是处理你想要的东西的最好方法。

票数 3
EN

Stack Overflow用户

发布于 2012-01-04 00:53:43

好的,我找到了答案:)

我不应该通过钩子脚本来尝试它。更好的解决方案是构建一个自定义的问题跟踪器插件:

http://tortoisesvn.googlecode.com/svn/trunk/contrib/issue-tracker-plugins/issue-tracker-plugins.txt

有了这个,我可以从数据库中读取我的问题,让开发人员选择他需要的问题,并将它们放入日志消息窗口。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8713010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档