一位非提交者的ApacheCloudStack贡献


本文的内容最初由Joe Brockmeier编写,发表在Cloudstack博客上。

如果您是Apache项目的贡献者,则意味着您可以直接提交到项目的存储库。例如,使用Apache CloudStack(孵化)的贡献者可以直接将提交到git仓库。

但是,非提交者必须提交补丁以供审阅。别担心,这不是一个繁重的过程。第一次提交补丁时,你将花费一两分钟时间在审阅板块注册一个账户,不过从头到尾都是小菜一碟。

假设

为了这篇文章的目的,我们假设你已经有了一个安装了Git的系统,并且发现了一个需要修复的bug或者有一个你想提交的功能,而且你愿意依据Apache许可证2.0贡献这个代码或者文档。

此外,如果您正在修复一个bug,我们会假设您已经提交了一个错误修复报告或正在提交一个已知错误的修复。如果你发现一个错误,并想修复它,那太棒了!不过也请确保也提交一下错误。

如果你想添加一个特性,在实现它之前,你应该把它提交给cloudstack-dev邮件列表以供讨论。这可以确保它与其他贡献者对Apache CloudStack的计划相互配合,并且不会做冗余工作。其他开发人员也可能有想法的功能或建议,这将有助于您更快完善功能,而不必重新开展工作。

简而言之,沟通是对Apache项目作出贡献的重要组成部分。

入门

首先,请确保您已将您的姓名和电子邮件添加到〜/ .gitconfig中

git config --global user.name“Your Name”
git config --global user.email you@domain.com

您将使用git获取CloudStack源代码:

 $ git clone https://git-wip-us.apache.org/repos/asf/incubator-cloudstack.git 

如果你已经有了源码,请确保你正在使用最新的版本。如果你在几个小时以前克隆了这个数据源,那么请做一个git pull。(Apache CloudStack发展速度得相当快!)

现在您已经拥有最新版本的源代码,请创建一个分支来进行您的工作:

 $ git checkout -b mybranch 

这样做有两个方面:一是创建分支mybranch,它将你的工作分支转换mybranch。运行git分支会显示你正在工作的分支,在活动分支旁边有一个星号,如下所示:

[user @ localhost incubator-cloudstack] $ git分支

  主
* mybranch

不管你做了什么改变,一定要使用git add来保存你的修改,然后你将这些修改提交到你的工作分支:

 git commit -m "在这里插入一个有意义的更改摘要"

最后,你要创建一个补丁以便上传到审查板块

 git format-patch master --stdout>〜/ patch-name.patch 

使用审查板块

审核板块是批准将修补程序发送到Apache CloudStack项目的方法。这并不是说直接发送到邮件列表的补丁将被忽略,但强烈推荐是通过审查板块提交补丁。别担心,这是一个非常简单的工具。

如果还没有账户,请在Review Board中创建一个帐户。注册只需要一个电子邮件地址,名字和姓氏。注册后,前往新建审阅请求并选择仓库(cloudstack-git)并上传使用git创建的补丁(diff)。

点击创建审查请求,然后填写所需的信息。

重要信息:

  • 概要
  • 组(选择cloudstack)
  • 人员(仅在需要特定提交者才能查看更改时使用)
  • 描述
  • 测试完成

摘要是已发送到的CloudStack-dev邮件列表的主题。因此,如果您的摘要是“固定功能foo”,则发送到列表的邮件的主题将是“审阅请求:固定功能foo”。尝试使用摘要进行描述。如果你正在提交一个bug的补丁,请确保在摘要中包含bug编号。(如“Bugfix CS-15942:解决冗余路由器问题”。)

描述应该是你所做的工作的完整描述。请具体说明,并提供足够的信息,以便任何审阅者不需要任何后续信息便能够查看您的补丁。

如果您提交修改代码的补丁,添加功能等,你应在提交之前进行测试。请一定在这里描述你的测试。

一旦确定一切正常,请继续并提交补丁。但还没结束。直到补丁提交成功后才完成工作!

审阅

提交补丁后,您应在几天内收到回复。如果您在一周内没有收到回复,请ping cloudstack-dev邮件列表。审查板块的一个特点是它显示了所有发来的的请求,以便知道提交者需要得到及时的回复。

当你的补丁被审查,它可能会被原样接受,或者你可能会被要求进行修改。如果您被要求进行更改,请与提交者一起查看补丁程序的验收。

如果补丁被接受和提交,你有最后一个任务(不要担心,这是小的和满意的)。

返回审阅板块,点击我的信息中心,然后点击发送评论。去你的提交,你应该看到“正在运送”的消息。点击关闭按钮,然后选择提交。状态现在已经从挂起提交

就是这样 - 您已经帮助Apache CloudStack成为更好的项目。谢谢!

进一步阅读

您可能需要仔细阅读Apache.org上的Get Involved页面以及On Contribution Patches文档。请注意,其中一些不适用于Apache CloudStack,因为我们使用git而不是Subversion。但要尊重CloudStack代码的原始风格,并确保使用的是空格而不是制表符,并且您的修补程序具有Unix行结束符(LF)而不是Windows类型结束符(CRLF)。

本文最初张贴在分离出版社

优质内容筛选与推荐>>
1、flex遭遇text-overflow:hidden,white-space:nowrap
2、svn服务器镜像备份
3、佳明导航仪地图升级不求人(原创)
4、Kotlin编译器优化与when关键字详解
5、iOS沙盒文件夹及获取路劲方法


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号