我使用 Perl5 进行编程并使用 Dist::Zilla
(dzil
) 部署到 CPAN 时出现问题。但问题可能是一般性问题,意味着与编程语言无关。
问题描述
假设我要发布模块 Foo
的新版本 0.1
,其中包含一个名为 bar
的新功能。我想将其作为试用版 (dzil build --trial
) 发布,以便能够获得有关更改的反馈,而不会将其强加给不知情的用户。当我使用我的工具链这样做时,Changes
文件将如下所示:
1 Revision history for Foo
2
3 0.1 2019-06-19 17:49:09+02:00 Continent/City (TRIAL RELEASE)
4 - added bar
打包分发(用于上传到 CPAN)是一个像这样的文件:Foo-0.1-TRIAL.tar.gz
在此之前,一切都很简单。但从现在开始,我不确定如何应对即将发生的事件:
- 反馈是积极的。无需更改。将发布投入生产。
新的(但未更改的)版本应该是什么样子的?
我应该使用相同的版本发布还是向上计算版本?我应该向 Changes
文件添加新行(例如“将试用版 0.1 投入生产”)还是更改现有行(意味着只删除 (TRIAL RELEASE)
)。
- 反馈是否定的。需要改变。添加功能/更改
baz
。
同样的问题。新的变化肯定需要在 Changes
中提及。但同样:算上版本,还是顺其自然?为 Changes
创建新条目还是更改现有条目?
这是我认为的这些问题之一:它可能无关紧要,但必须有一个“最佳实践”。从长远来看,正确地做事是值得的。
问题
在对特定 CPAN 进行试用后,我应该如何继续版本编号和 Changes
文件?
(独立于 Perl 和 CPAN 的一般答案也很有趣)
最佳答案
我的一般建议是:如果 TRIAL 取得了巨大的成功,并且除了在没有 --trial
的情况下发布相同的东西之外没有零变化,您可以重用该版本,因为在运行时这两个 tarball 将具有相同的行为。如果您必须进行任何可能影响用户或测试的更改,请升级版本。如果您不确定,请修改版本——版本是免费的。请记住,如果没有不同的版本,其他发行版将无法区分其依赖项中的更改,CPAN 客户端无法轻松请求特定版本,等等。
就变更日志而言,MetaCPAN 现在在其变更预览中包含稳定版本之前的任何试用版的变更可能会有所帮助,前提是 it can parse your changelog并且试用版被标记为这样。 ( example ) 所以我只为每个不同的版本添加一个条目。
关于perl - 试用版后如何作为模块作者继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56697196/