本文共 1862 字,大约阅读时间需要 6 分钟。
经常会遇到这样的问题:
这些当然可以直接google,但也可以在Apache JIRA中搜索,结果会更精准。
打开网址: 或者任何一个已有issue的链接。
点击左上角的 Issues -> Search for issues 然后会出来一个Search框,在Project选上对应的项目(如Impala),在Type上限定类型(如New Feature,也可不选),最后在搜索框打上关键字,按Search即可: 找到后就好好看description和comments,看是否是要找的issue,有需要可以借助google翻译。对于Impala的issue,一般会有 "Affects Version/s“ 和 "Fix Version/s”,记录哪个版本开始有这个bug或需求,以及哪个版本开始修好这个bug或需求。
一般最关心的是Fix Version/s,如果这个没有填,则需要看下具体的commit是哪个commit开始有的。这个我们在后面再介绍。
有些功能比较大,就不是以 “New Feature” 这种类型来建的,而是 “Epic”,这种需要你注册个账号,否则看不到Epic下的issue,比如这样:
这时需要登陆(或注册),然后就能看到了:有些功能也会以创建sub-task的方式来分解,相比Epic来说,sub-task更适合于工作量中等的功能,因为sub-task无法再指定类型(如Bug、New feature、Improvement)。如果你的开发周期比较长,可能前面的代码引入了Bug,这时再建个新的sub-task来修,就没法标记这是个Bug了。
比如 Impala 支持 GROUP BY ROLLUP, CUBE 和 GROUPING SETS 这个功能就是拆成sub-task来做的:
这里可以看到有个子功能没有做,借此可以知道这个工作的进展。如果找到的issue还没有解决,可以点一下右侧的 “Start watching this issue” 按钮,这样有新的改动或comment时会发通知到你的邮箱,第一时间知道进展。
在其上还有个 “Vote for this issue“ 的按钮,可以为issue投票增加其重要程度。社区维护者可能会根据vote数来调整优先级。对于Impala的issue,如果它已经被解决了,可以在comment里找到对应的patch。比如这个issue:
里面可以找到 Reviewed-on: 这是Gerrit上做Code Review的链接,在这里可以方便地下载patch。点击链接后进入Gerrit,里面有个Download按钮可以用各种方式获得patch: 在旧版Gerrit UI里,Download按钮在右上角。在新版Gerrit UI里,Download按钮在commit message下方。在页面的右下角可以切换使用New UI还是Old UI。有这些链接后就方便打patch了,比如要在你的本地分支打上patch,可以复制Cherry Pick这个指令,在本地git repo里执行就行了。另外,如果这只是一个sub-task的commit,你还需要按提交顺序打上其它sub-task的commit,才能得到完整的功能。
在comment里不光有Gerrit的Code Review链接,第一行还有commit id。用这个commit id能直接在github repo里找到对应的commit。我一般是直接改URL:
如上图,URL https://github.com/apache/impala/commit/ 后面接 commit id,就是这个commit的URL: 在commit message下面能找到对应的branch,从而得知哪个版本开始有了这个更改。这些在JIRA的description和comments里,以及Gerrit Code Review里的讨论和commit message里,都值得细读。
有任何问题,欢迎参与社区讨论,参见《》。
转载地址:http://ljzgf.baihongyu.com/