我想编辑传入的提交消息(添加分支名称,或者添加一些模板,忽略某些行等)。当我搜索时,我发现git有一个准备提交消息挂钩,似乎这样做,但svn没有。在提交之前有没有办法在svn中做到这一点?是否存在与git prepare commit消息钩子相同的SVN
回答
在SVN,你不需要用钩子脚本添加日志消息模板:
在TortoiseSVN客户端,您可以并且应该使用
tsvn:*
properties。使用vanilla svn.exe命令行客户端,使用
CMD_EDITOR
环境变量来定义您想要调用的日志消息,或根据提交中的更改自动确定日志消息。调整SVN中现有修订版的日志消息通常是单行命令。默认情况下,禁止修改日志消息。管理员可以随时允许所有用户或只有特定的用户使用。
我猜你已经使用TortoiseSVN客户自提标有windows标签。 TortoiseSVN支持多个属性,这些属性可以帮助您定义客户端的行为。他们会帮助你实现承诺的政策,包括日志消息限制和模板:
tsvn:logminsize
定义传入修订的日志信息中必须包含的字符的最小数量。tsvn:logtemplate
将帮助您定义默认日志消息模板。还有8个额外的tsvn:logtemplate
属性,您可以使用它们为不同类型的提交添加不同的模板。tsvn:logsummary
将帮助您定义正则表达式来获取提交消息的一部分,并在您使用TortoiseSVN查看修订历史记录日志时将其显示为摘要。
参见手册的性质和宗旨的完整列表TortoiseSVN Project Properties章。
您必须使用git的pre-commit
挂钩来验证日志消息并添加提交消息模板。如果您不这样做,修复日志消息中的错误的过程需要您使用可能不重要的git rebase
。可以有其他的方式来添加日志消息策略,但在git的世界中,你必须使用钩子脚本。
不要忘记,svn commit
和git commit
操作在使用git或SVN的常见工作流中扮演不同的角色。svn commit和git commit的整体思路和结果是不一样的。因此,*-commit
挂钩有两个系统不同的目标:
运行的git在本地的Git仓库提交是本地,客户端只运行。当你在git中提交时,你只需要创建一个本地快照而不需要联系这个受祝福的远程仓库。在这种情况下,使用本地钩子来定制客户端的默认行为应该是非常好的。除非您通过推或拉来发布它们,否则您的本地更改不会影响其他git用户。这是git工作流程的一部分,需要您最大限度地关注日志消息 - 重写提交的数据(包括日志消息)将迫使您的同事暂时搁置当前任务并开始手动修复其本地回购。
但是当你运行SVN提交,你联系的远程服务器来发布你的本地资料库的修改,使他们在新版本给其他开发者的形式提供。即使您在提交SVN时在日志消息中犯了错误,您也可以随时自行调整,或者询问有此特权的同事。简单而无伤害。
在罕见的地方,它可能可能有可能改变与Subversion的传入交易,不建议或支持这样做。
- 1. git post-commit钩子
- 2. SVN pre-commit钩子编码
- 3. Git的pre-commit钩子:
- 4. 拒绝与之前提交的消息相同的消息提交git commit?
- 5. SVN错误:post-commit钩子与锁定的文件消息未能
- 6. svn pre-commit钩子检查java源码
- 7. git-svn dmitmiting git commit
- 8. ^在Git commit消息中的M个字符(git commit -v)
- 9. GitKraken使用git钩子发送消息
- 10. GIT commit命令相当于SVN命令
- 11. linux上的“git-svn clone”与mac上的“git svn clone”相同吗?
- 12. 红宝石管理平台SVN post-commit钩子是extremally慢
- 13. git钩子(pre-commit,post-commit等)适用于所有分支吗?
- 14. 如何检索在commit-msg钩子中生成的git commit的sha?
- 15. git消息是否标准?
- 16. 如何创建一个SVN pre-commit钩子commiting到仓库
- 17. 如何编写子模块更新的git commit消息?
- 18. 设置svnperms pre-commit钩子
- 19. 视觉SVN服务器:在前置/后置指南commit钩子
- 20. 在SVN post-commit挂钩中保存时间?
- 21. 撤消git commit --amend
- 22. .NET/SVN:使用建设项目pre-commit钩子
- 23. 在git钩子中获取提交消息
- 24. 如何在Git Tower中获得Git Commit消息?
- 25. SVN pre-commit钩子扫描java类内容
- 26. 使用post-commit钩子自动更新svn
- 27. 如何在git pre-commit钩子中添加文件到索引
- 28. 在钩子post-commit中执行git命令
- 29. 黄瓜中是否存在@BeforeClass钩子?
- 30. “git svn rebase”是否会损坏非“git svn”存储库?
请在邮件列表中查看[此帖子](https://svn.haxx.se/users/archive-2008-03/0690.shtml)。 –
@PatrickQuirk该帖子大约9岁,并有一个断开的链接。这里是工作的链接:http://subversion.apache.org/faq.html#change-log-msg – bahrep
感谢您的链接。这是否意味着我应该在post commit hook中更改日志消息,还是有更好的方法? – ryanbmg