提交了一个补丁

编辑该页面

警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.0,不再维护。

这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。

提交了一个补丁

补丁的最佳方式提供错误修正或提出增强Symfony2。欧宝娱乐app下载地址

步骤1:设置您的环境

安装软件栈

在Symfony2工作之前,设置一个欧宝娱乐app下载地址友好的环境使用以下软件:

  • Git;
  • PHP版本5.3.2或以上;
  • PHPUnit) 3.5.11或以上。

配置Git

设置用户信息与你的真实姓名和工作电子邮件地址:

1 2
git配置全球user.name美元“你的名字”git配置美元——全球用户。电子邮件you@example.com

提示

如果你是新的Git,强烈推荐阅读优秀的和自由的ProGit书。

提示

如果您的IDE创建配置文件在项目的目录中,您可以使用全球.gitignore文件(对于所有项目)或. /信息/排除文件(每个项目),忽略它们。看到Github的文档欧宝体育电话

提示

Windows用户:Git安装时,安装程序会问如何处理线的结局,建议替换所有低频CRLF。这是错误的设置如果你想Symfony作出自己的贡献!欧宝娱乐app下载地址选择原有方法是你最好的选择,如git将转换你的换行的存储库。如果你已经安装了Git,你可以检查这个设置的值通过键入:

1
git配置core.autocrlf美元

这将返回“false”,“输入”或“真正的”,“真”和“假”是错误的价值观。将其设置为另一个值通过键入:

1
git配置美元——全球核心。autocrlf输入

取代——全球的地方如果你想把它只对活动库

Symfony的欧宝娱乐app下载地址源代码

得到Symfon欧宝娱乐app下载地址y2源代码:

1
git美元克隆git@github.com:用户名/ symf欧宝娱乐app下载地址ony.git
  • 添加上游库作为远程:
1 2
美元cd欧宝娱乐app下载地址symfony git远程增加上游git:美元/ /github.com/symfony/symfony.git

检查当前的测试通过

现在Symfony欧宝娱乐app下载地址2安装,检查所有单元测试通过为您的环境的专用文档

步骤2:你的补丁

许可

在你开始之前,你必须知道所有的补丁你要提交必须下发布麻省理工学院的许可在你提交,除非显式指定。

选择正确的分支

在一块工作之前,你必须确定你需要哪个部门去工作。分公司应根据“大师”分支,如果你想添加一个新特性。但如果你想修复一个缺陷,使用Symfony的古老但仍然保持版本错误发生的地方(如“2.0”)。欧宝娱乐app下载地址

请注意

所有的bug修复合并成维护分支也定期合并到最近的分支。例如,如果您提交“2.0”分支的一个补丁,补丁也将应用的核心团队的“大师”分支。

创建一个主题分支

每次你想工作在一个补丁一个bug或增强,创建一个主题分支:

1
git checkout美元- b BRANCH_NAME主人

或者,如果您想提供一个错误修复的2.0分支,第一次跟踪远程“2.0”本地分支:

1
git checkout - t起源/ 2.0美元

然后创建一个新的分支2.0分支工作错误修复:

1
git checkout - b BRANCH_NAME 2.0美元

提示

为您的分支使用描述性名称(“ticket_XXX”“XXX”是机票号码是错误修复的好习惯)。

上面的付款命令自动切换到新创建的代码分支(检查你正在研究的分支“git分支”)。

你的补丁

工作的代码尽可能多的你想要提交多达你想要的;但请记住以下几点:

  • 读到的Symfony欧宝娱乐app下载地址约定并遵循编码标准(使用“git diff -检查”检查尾随的空格,也读下面的提示);
  • 添加单元测试来证明虫子是固定的,或者新功能实际上作品;
  • 努力不是打破向后兼容性(如果你必须这样做,试图提供一个兼容层支持老方法)——补丁打破向后兼容性更少被合并的机会;
  • 原子和逻辑上独立的提交(使用“git变基”的力量有一个干净的历史和逻辑);
  • 南瓜无关的承诺,只是固定编码标准或修复拼写错误在您自己的代码;
  • 从来没有解决编码标准在某些现有的代码,因为它使代码评审更加困难;
  • 写好提交消息(参见下面的提示)。

提示

你可以检查你的编码标准通过运行以下补丁脚本():

1 2
美元cd/路径/ / sy欧宝娱乐app下载地址mfony / src php symfony-cs-fixer美元。phar修复。欧宝娱乐app下载地址Symfony20Finder

提示

良好的提交消息是由总结(第一行),可选地紧随其后的是一个空行和一个更详细的描述。摘要应该开始与组件在方括号(你工作(DependencyInjection),(FrameworkBundle),……)。用一个动词(固定的……,添加……,…)开始总结,不要添加在最后一段。

准备提交你的补丁

当你的补丁不是一个bug修复(当你添加一个新的功能或改变现有的一个实例),它还必须包括以下:

  • 相关的变化的解释(s)(更新日志文件(公元前打破)或者是(弃用)时,必须使用前缀相关);
  • 解释如何在相关升级文件升级现有的应用程序(s)如果打破向后兼容性的变化或者轻视的东西最终将打破向后兼容性。

第三步:提交你的补丁

当你觉得你的补丁已经准备好提交,遵循以下步骤。

变基你的补丁

之前提交你的补丁,更新你的分支(如果需要一段时间来完成你的需要更改):

1 2 3 4 5
git checkout掌握上游git获取git美元美元合并上游/主git checkout BRANCH_NAME git美元变基的主人

提示

‘主人’替换为‘2.0’如果你工作在一个错误修复

当在做变基命令,您可能必须解决合并冲突。git状态将告诉你unmerged文件。解决所有的冲突,然后继续变基:

1 2
美元git添加…#添加解析文件git变基——美元继续

检查所有测试仍然通过,推动你的远程分支:

1
git推动美元BRANCH_NAME起源

做一个拉请求

你现在可以把请求的欧宝娱乐app下载地址symfony / symfonyGithub库。

提示

小心点你的拉向请求欧宝娱乐app下载地址symfony: 2.0如果你想拉错误修复的核心团队基于2.0分支。

为了缓解核心团队的工作,总是在将请求消息中包含修改后的组件,如:

1 2
(Yaml)固定的东西(形式)(Validator) [FrameworkBundle]添加一些东西

拉请求描述必须包括以下清单顶部确保贡献可能审查没有不必要的反馈循环,你的贡献可以列入Symfony2尽快:欧宝娱乐app下载地址

1 2 3 4 5 6 7 8 9 10
|问| | - - - - - - - - - - - - - | - - - | Bug修复吗?(是的|不)| |新功能吗?(是的|不)| | BC休息吗?(是的|不)| |不支持?(是的|不)| |测试通过?| |否]| |固定门票(门票固定的逗号分隔列表公关)|许可协议|麻省理工学院| Doc公关|(参考文档公关如果任何)欧宝体育电话

提交一个例子现在可能看起来如下:

1 2 3 4 5 6 7 8 9 10
|问| | - - - - - - - - - - - - - | - - - | Bug修复吗?| |新功能?公元前| |不休息吗?| |不支持?没有| |测试通过?|是| |固定票# 12 # 43 |许可协议|麻省理工学院| Doc公关| symfony / symfony-doc欧宝娱乐app下载地址s # 123

必须包括整个表(做的删除你认为不相关行)。PHPDocs对于简单的拼写错误,微小的变化,或改变翻译文件,使用较短的版本的检查表:

1 2 3 4
|问| | - - - - - - - - - - - - - | - - - | |固定门票(门票固定的逗号分隔列表公关)|许可协议|麻省理工学院

一些答案的问题引发更多的要求:

  • 如果你的回答肯定“Bug修复?”,check if the bug is already listed in the Symfony issues and reference it/them in "Fixed tickets";
  • 如果你的回答肯定“新特性?”,you must submit a pull request to the documentation and reference it under the "Doc PR" section;
  • 如果你的回答肯定“BC休息?”,the patch must contain updates to the relevant CHANGELOG and UPGRADE files;
  • 如果你的回答肯定“用法吗?”,the patch must contain updates to the relevant CHANGELOG and UPGRADE files;
  • 如果你回答没有测试通过,您必须添加一个项目一个todo - list的行为必须修复完成测试;
  • 如果“许可证”不是麻省理工学院,只是不提交拉请求,因为它不会被接受。

如果一些之前的需求没有得到满足,创建一个todo - list和添加相关项目:

1 2 3
——[]修复测试作为他们尚未更新-[]文档提交变化[]文档BC优惠欧宝体育电话

如果代码还没有完成,因为你没有时间完成它还是因为你想要的早期反馈在你的工作上,添加一个todo - list:项

1 2
————[][]完成代码收集反馈我的变化

只要你在为todo - list条目,请前缀拉请求标题用“(在制品)”。

把请求中的描述,给尽可能多的细节您的更改(不要犹豫给代码示例来说明你的观点)。如果你把请求是关于添加或修改一个现有的一个新特性,解释变化的基本原理。拉请求描述帮助代码评审和它作为一个参考当代码合并(拉请求描述和其相关的评论是合并提交消息的一部分)。

除了这个“代码”拉请求,你必须发送一个请求欧宝体育电话文档存储库在适当的时候来更新文档。欧宝体育电话

修改你的补丁

基于反馈拉请求,您可能需要重做你的补丁。在重新提交补丁之前,变基上游/主上游/ 2.0,不要合并;和力推动原点:

1 2
git上游变基- f /主git推动美元- f BRANCH_NAME起源

请注意

在做一个推,力,总是显式地指定分行名称,以避免破坏其他分支回购(——力告诉git,你真的想仔细惹事情这样做)。

通常,版主会问你“南瓜”提交。这意味着您将许多提交转换为一个承诺。要做到这一点,使用变基命令:

1 2
git变基-我的头~ 3美元git push - f BRANCH_NAME起源

这里的3号的数量必须等于提交你的分支。你输入这个命令后,将弹出一个编辑器显示的列表提交:

1 2 3
选择1 a31be6第一次提交选择7 fc64b4第二次提交选择7 d33018第三次提交

南瓜所有提交到第一个,删除“选择”这个词在第二和最后提交,并替换它的词“南瓜”或“s”。当您保存,git将重新开始,如果成功,会问你编辑提交消息,默认情况下是一个清单的提交信息的提交。当你完成时,执行的命令。

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。