大家在公司用到的VCS,一般都是和Issue tracker / Bug tracker 关联到一起的。
比方说,我在VCS里面填上update log:
Fixed error about animiation matrix updating. Bug 223789 updated. Review 1776. |
然后将这个change提交,此时Bug tracker上便会更新,变成这样:
一般这里的Bug号,review号和Issue号都会有相应的链接,连接到对应的内容上以方便查阅。
那么在Google code里如何实现这一点呢?
首先,如果你在log中涉及了某个issue,并以issue nnn或者是issue #nnn 填上对应的Issue号,那么在SVN的浏览中,自然会产生某个链接,如SALVIA里面的:
Log messageSASL:
Add syntax_tree_builder into syntax_tree project.
Add parse_api into parser.
Add parse_api into syntax tree.
Issue 49 updated. |
此时,Google的Change viewer还会提供相应的超链接。但是当你点到Issue49之后,会发现Issue49并没有更新当前revision的信息。这是怎么回事呢?
答案是,如果想经由Log去更新Issue tracker,必须要按照一定的格式。
完整的文章,可以参见google的帮助。
这里给大家提供一个快速教程:
首先,整个命令的格式大致如下:
$COMMAND$ issue $ISSUE ID$ $FIELD$: $FIELD$ $CONTENT$ $DESCRIPTION$ |
COMMAND一共有三种,New,Update,Fixes。含义就不说了,大家都懂。
Field,就是类似于Summary,Owner一类,在Issue Editor的界面上大家都能看到。
Description呢,一方面用于你这次更新的详细说明,另一方面也会提交到Issue Tracker中。
注意,在Update的时候,Field也好,Description也好,至少要填一项,否则Issue tracker是不会给你更新信息的。
下面咱们来举个例子:
Log messageSALVIA:
Update issue 53 (注意,这里没有句号)
Issue 53 will be added an new comments. |
这个时候,Issue track就会更新为:
Comment 1 by project member wuye9036, Today (43 minutes ago) This issue was updated by revision r462.
Issue 53 will be added an new comments.
|
你看,自动更新了吧。但是注意哦。Update那条命令之前的内容,并没有被更新到Issue tracker中。
哈哈,Have fun!