On this page
Hive 提交者指南
该页面包含 Apache Hive 项目提交者的准则。 (如果您目前是贡献者,并且对我们如何添加新提交者感兴趣,请阅读BecomingACommitter)
New committers
鼓励新的提交者首先阅读 Apache 的通用提交者文档:
新的核心提交者的第一步通常是将其名称添加到credits页面。这需要更改http://svn.apache.org/repos/asf/hive/site/author/src/documentation/content/xdocs/credits.xml中的 XML 源。完成后,按照下面的文档部分中所述更新 Hive 网站。
Review
配置单元提交者应尽可能多地尝试检查其他人提交的补丁。理想情况下,提交者会在几天内对每个提交的补丁进行审查。如果提交者审阅了他们尚未编写的补丁程序,并认为其质量足够,则他们可以提交该补丁程序,否则应取消该补丁程序,并明确说明拒绝该补丁程序的原因。
提交的补丁列表在Hive Patches中。这是按上次修改时间排序的。提交者应从上至下扫描列表,以查找他们认为有资格审查并可能提交的补丁。
Hive 提交者可能不会为其 1 个补丁发布 1 个补丁,即,仅当该补丁首先获得另一位提交者的 1 票时,才允许您提交自己的补丁。过去,在对网站进行少量更改(例如,在功劳页面中添加新的提交者)时,通常会忽略此规则,但是对于其他任何事情,您都应该遵循标准流程。
Reject
不符合HowToContribute准则的补丁应予以拒绝。提交者应始终对贡献者彬彬有礼,并尝试指导和鼓励他们做出更好的贡献。如果提交者希望改进不可接受的补丁,则应首先将其拒绝,然后提交者应附加新的补丁以进行审核。
PreCommit 运行并提交补丁
在提交之前,先对补丁运行提交前测试。
如果测试运行正常(提交者的值为 1),则可以提交补丁。
由于补丁程序本身存在问题或测试不稳定,测试运行可能不干净。这些问题必须得到解决,并且在运行干净之前,不应该提交补丁。
如果提交引入了新的测试失败,则首选过程是还原补丁程序,而不是打开新的 JIRA 来修复新的失败。
Commit
提交补丁时,请:
确保补丁获得 1 票,并且自从 JIRA 投出第一票以来 24 小时已经过去。请注意,此规则出现在“ Hive 章程”中。不要忽略它。
在提交消息中包括 Jira 问题 ID,以及对更改的简短说明和贡献者的姓名。确保正确设置问题 ID,因为这会导致 Jira 链接到 Subversion 中的更改(使用问题的“全部”标签来查看这些内容)。
如果是贡献者,则添加以下后缀以提交消息“( ,由 审阅)”。示例:“ HIVE-123.向优化程序中添加真棒酱。(jvs,由 Ashutosh Chauhan 审查)”
- 如果不是贡献者,则添加以下后缀以提交消息“( 通过 )”。示例:“ HIVE-123.向优化程序中添加真棒酱。(通过 jvs 的 Mike Brakestoner)”
另外
--author="John Doe <john@doe.org>"
可用于使作者成为贡献者不要忘记对任何新文件进行“ svn 添加”,对已被补丁“删除”的所有文件进行“ svn 删除”。
固定解决此问题,感谢贡献者。始终在此处设置“修复版本”,但请仅设置一个修订版本,该版本是最早出现更改的版本。但是,如果将修补程序反向移植到单点发行版(例如 1.0.2),则应设置多个修订版本,以便自动发行说明可以列出单点发行以及主要发行版的 Jira 问题。
使用-E 选项可确保在提交期间删除了空文件。
Committing Documentation
Hive 的官方文档使用Forrest编写。要提交文档更改,您必须在$PATH
上安装了 Forrest 并具有forrest
可执行文件。请注意,当前版本(0.8)不适用于 Java 6,请改用 Java 5.文档有两种类型:
最终用户文档,带有发行版;和,
网站。此版本在 Subversion 中单独维护,更改后重新发布。
要将最终用户文档更改提交到主干或分支,请要求用户仅提交对src/docs
中的* .xml 文件所做的更改。应用该补丁,运行ant docs
生成 html,然后提交。最终用户文档仅在发布时发布到 Web 上,如HowToRelease中所述。
提交对网站的更改并重新发布它们:
% svn co https://svn.apache.org/repos/asf/hive/site hive-site
% cd hive-site
# Make your changes in the author/src/documentation/content/xdocs subdirectory.
# Then run 'ant' to generate the new website. This will cause
# files to be updated/added in the publish/ subdirectory.
% ant
% svn status
M author/src/documentation/content/xdocs/credits.xml
X author/src/documentation/skins
M publish/credits.html
M publish/credits.pdf
# Inspect the modified/added files in the publish directory,
# and commit the changes once you are satisfied with them:
% svn commit -m "Add Bob to list of committers on credits page (cws)"
提交到网站存储库的更改将使用svnpubsub自动发布到网站。
向后移植到以前的分支
注意: 本节中的信息与当前做法不符,后者是直接在分支上重新应用补丁(或补丁的反向端口)。
如果需要将补丁反向移植到以前的分支,请按照下列步骤操作。
- 提交对中继的更改并记下修订号,例如 4001.(修订号显示为对* svn commit *命令的响应)。
2.检出所需的分支,然后从根目录执行此命令。
svn merge -r 4000:4001 https://svn.apache.org/repos/asf/hive/trunk .
svn commit
Dialog
提交者应该在 irc.freenode.net 的#hive 会议室中闲逛,以进行实时讨论。但是,应在 Jira 或开发人员列表中再次重申任何实质性讨论(以及与项目外的项目相关的讨论)。