【发布时间】:2012-10-30 18:45:14
【问题描述】:
理想情况
在处理 Symfony2 项目时,我经常会在我的一个依赖项中发现我想要更改的内容。如果我能找到一种方法来简单地在供应商中更改它,然后轻松地将更改作为拉取请求推送,那么我可能会更频繁地做出贡献(而不是用本地子包覆盖该部分)。
问题
如果没有作曲家在下一次更新时吓坏了,我无法更改供应商目录。如果我提交拉取请求,那么我可能需要相当长的时间才能真正在供应商中使用代码,这实际上是对贡献我的新功能的一种阻碍。
我现在怎么做
我通常为捆绑包做贡献的方式是创建一个分支,将分支放入准系统 symfony 标准版应用程序中,进行更改,然后提交拉取请求。
在composer.json分叉?
我能想到的唯一解决方案是删除我正在编辑的包的 packageagist 依赖项,然后将我的 fork 与来自 github 的 composer(作为一个包)包括在内。这样我可以立即获得我的代码并且仍然可以贡献。
这是唯一的解决方案吗?你是怎么做到的?
任何关于在同一时间从事不同项目的同时为捆绑包做出贡献的提示/建议将不胜感激!
【问题讨论】:
-
我认为你说得对。有两个部分:提交补丁和使用补丁。我通常在我的工作项目中分叉/分支包以进行修复。提交并将其推送到我自己的仓库。然后,如果我想继续使用该修复程序,我会将对该分支/分支的引用添加到作曲家。
-
我们使用与@MDrollette 相同的方法。首先我们使用标准包。如果需要修复某些东西(例如 DBAL QueryBuilder - github.com/doctrine/dbal/pull/175),我们会分叉它,使用我们的叉子而不是标准的叉子,修改代码,编写测试并打开一个拉取请求,希望修复被包含在内。
标签: symfony composer-php