gpt4 book ai didi

version-control - 为什么要在现代世界(使用SVN,Mercurial,Git)中维护传统的详细ChangeLog?

转载 作者:行者123 更新时间:2023-12-04 07:13:51 25 4
gpt4 key购买 nike

详细的ChangeLog条目通常会告诉谁,何时和什么功能发生了变化,以及为什么要进行此更改。

而这对于源代码树中的每个单独功能!

据我了解,ChangeLog是过去没有好的VCS时产生的。

因此,传统的ChangeLog完全不需要,因为您可以从以下位置获得全部信息:

$ svn日志。
$ hg日志。
$ git日志。
$ bzr日志。

对于ChangeLog,只有一个可能的需求是产品版本之间的简短摘要,仅供用户使用(例如,当新版本发布时,开发人员准备ChangeLog来描述显着/可见的更改)。

还是我错了?

http://autotoolset.sourceforge.net/tutorial.html#SEC45:

ChangeLog文件:使用此文件来记录您对自己所做的所有更改
源代码。如果您的源代码分布在许多子目录中,
并且有足够的理由来考虑子目录的内容
作为不同的子包,然后请维护一个单独的`ChangeLog'
每个子目录的文件。

看起来陈旧而教条。自动工具和“GNU编码标准”要求的ChangeLog。

GNU Emacs源代码包含许多巨大的ChangeLogs(许多部分分成许多部分):

$查找emacs-22.3-名称“ChangeLog *” | xargs猫| wc -c
13605747

我可以从Emacs bzr存储库中获取摘要日志大约1分钟,然后通过它进行搜索,而不是搜索每个单独的ChangeLog,并使用Emacs VCTortoise SVN/HG等现代工具立即获取差异以进行更改。

更新使用ChenggeLog的原理来自RCS/CVS服务控制系统的笨拙。检查http://www.red-bean.com/cvs2cl/changelogs.html部分的“ChangeLogs和CVS日志”。所有现代VCS都提供了/允许在CVS中对此文章提出批评。

另外,还有许多提示将您的VCS历史记录转换为ChangeLog样式。因此,拒绝所有您的 ChangeLog 的所有内容。

如果要在版本之间提供面向用户的功能/后向兼容性等信息,请使用NEWS文件:http://www.gnu.org/prep/standards/html_node/NEWS-File.html

最佳答案

使用分布式VCS,它已成为“尽早提交,经常提交”的标准。通过这种方法,最终您将获得比实际新功能或错误修复更多的提交。变更日志应该概括整个应用程序的变更。另一方面,VCS日志显示了源代码的历史记录,即该功能最终是如何实现的。

关于version-control - 为什么要在现代世界(使用SVN,Mercurial,Git)中维护传统的详细ChangeLog?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3712969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com