为 Seagull 做贡献

你想要发布你对Seagull的工作成果吗?

你想纠正你发现的BUG吗?

你找对地方了。请花一点钟时间阅读下列手册,它将指导你如何创建有效的ticket以及如何提交正确的修改。

创建ticket

我听你说:“我知道如何在Trac中创建一个ticket,10岁的孩子都知道的事情”。

当然,创建一个补丁是非常容易的。但是不同的是一个有效的补丁比一个平常的补丁更容易引起关注。

首先,你需要注册账户才能创建ticket。

当你创建ticket时,我们希望你能提供以下这些基本信息以帮助他人在搜索Trac时更方便有效:

  • 简短的描述:清楚而且要简短
  • 描述:在创建一个新的ticket时(而不是编辑已有的ticket时),请给出你所发现的bug的详细信息,你想要添加的特性。
  • 优先级:默认为normal。只在bug是极端严重时才使用hight。如果你有发现任何的安全问题,最好是 通过#seagull直接联系demian或AJ,或者创建一个不带详细信息的ticket。
  • 组件:它应用于Seagull的哪一部分?有三个部分:SGL(代表核心库),modules和主题相关的部分。
  • 严重性:代表ticket的状态:open(正在创建),analysing(正在想如何实现或修复),in progress(正在处理),need feedback(需要别人给出意见)
  • 指派给: 指定给谁来处理这个补丁。这是第一步,然后指派给其它人获取更多的意见,最后指派给Demian,因为他是提交应用补丁的人。
  • 里程碑: 目前的里程碑是 0.6 (会根据当前的里程碑更新)
  • 版本: N/A
  • 关键字: 在这里输入2/3的关键字来更好的标识这个ticket
  • Cc: 放一个email地址,这样你就可以随时接收到通知

就这些了,然后预览一下,根据需要进行修正然后提交。

谢谢分享;-)

创建补丁

首先你需要有一个全新的最新版的代码。

我们使用Subversion进行版本控制。如果你并不了解Subversion或想知道如何获取最新的代码,请看 [http://trac.seagullproject.org/wiki/Installation/FromSVN our SVN page]

为了确保代码保持统一的风格,就像是出自现一个人之手。所有请务必仔细阅读 [http://trac.seagullproject.org/wiki/Standards/CodingStandards Coding Standards (CS)]。你可能还会发现这篇文章也很有用[http://trac.seagullproject.org/wiki/Standards standards]。

所有,假设你已经在你的seagull目录下,执行

$ svn up

注释版本号

修改代码后,请阅读 [http://trac.seagullproject.org/wiki/Code/SubmittingPatches how to create a patch]

#!html
<div style="float:right;width:25%;background:#ffffdd;padding:5px;">
<p style="font-weight:bold">Note for Windows users</p>
<p>Using Tortoise is fine for updating your working copy, reverting files, visually see which files are modified ...</p>
<p>But we recommend you create patches using the subversion command line utility.
</div>

我的补丁应该使用什么名字?

当然了,最后是给它起一下人简短清晰的名字,在你的文件名后面加上版本号会在你想返回到先前创建的补丁时有帮助,当然这并不是必须的。

编码标准重要吗?

编码标准非常重要,所有不遵守 [browser:/trunk/CODING_STANDARDS.txt Seagull CS]标准的补丁将不会被接受。PEAR中有个非常不错的包叫做 [http://pear.php.net/package/PHP_CodeSniffer/ PHP_CodeSniffer]可以帮助你学习编码标准。

要安装,执行:

$ pear install PHP_CodeSniffer

然后对你的代码执行它所提供的脚本,如下:

$ phpcs /path/to/my/file.php

上传补丁到Trac

现在回到你所创建的ticket(或者任何其它你想提交补丁的ticket),并单击 “attach file”。

这样就完成了。谢谢你的分享。

 
contributing.txt · 最后更改: 2010/05/30 00:21 (外部编辑)
 
Except where otherwise noted, content on this wiki is licensed under the following license:GNU Free Documentation License 1.2