ob娱乐下载Symfony2组件作为独立的包
每个Symob娱乐下载fony组件作为一个独立的“包”已经有很长一段时间了,但这是我第一次在这个博客上发布关于它的东西。这是因为实验的方式是实验性的……直到最近。
为什么它有用?假设您有一个不使用Symfony(全栈框架)的项目,但是您仍然希望依赖一些Symfony组件,ob娱乐下载例如YAML、Console和Process。在这种情况下,而不是依赖于主ob娱乐下载symfony / symfony
代码,您的项目可以只依赖于这些特定的组件。如果您正在使用Git子模块,只需引用在Github.如果你正在使用作曲家,您应该只引用您所依赖的组件composer.json
文件:
{"需要":{“symfony ob娱乐下载/ yaml”:“2.1 *”、“symfony /控制台”:“2.1 *”、“symfony /过程”:“2.1 *”},“minimum-stability”:“开发”}
在这些独立的Git存储库中找到的代码与在官方存储库中找到的主要代码同步ob娱乐下载存储库。它通过将主存储库“拆分”为许多小的存储库来工作子树
Git命令。但到目前为止,这个过程充其量是模糊的,不幸的是不太可靠。
首先,因为我们有很多东西要提取。到今天为止,我们有超过60个不同的分割:2.0和master两个版本的30多个组件/桥/包。但是很快,我们将会有90个不同的分支2.1。当然,提交越多,进程就越长(主分支有10,000+提交)。
然后,因为我们不用子树
以规范的方式命令。由于我们不想用关于拆分的信息污染主存储库,所以每次拆分都需要重新开始。从头开始对整个存储库进行60个不同的拆分至少需要7个小时。
由于这些问题,分裂只会不时更新(最多是每个法国之夜)。但两周前,我花了一整天的时间来优化这个过程,我已经将拆分与Github的推送钩子机制集成在一起,这样我们就只拆分了推送中涉及的组件。
新版本在上周就已经上线了,在将一些更改推送到Symfony组件后的1或2分钟内,组件才会更新。ob娱乐下载不幸的是,由于Git子树命令中的一个错误,我们在这段时间内进行了一次强制推送(我还没有时间提交错误报告)。
好消息是,Symf欧宝平台是合法的吗ony组件存储库现在可以通过主要的ob娱乐下载Symfony存储库进行近乎实时的更新。
评论
现在,由于composer的存在,这不再是必要的,但即使这样,它也意味着运行所有测试将是一个更大的努力。
最后,现在改变这一点是相当重要的,尽管IIRC我们确实找到了一种方法,在理论上我们可以通过子树分割回购来接受PR。
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。
你有机会分享子树脚本吗?我有2个项目,需要标签和分支被分割,将感激不必重新解决这个问题。
我相信你已经想过了,并且有一个很好的理由这样做,我只是想知道它:)。
Pierre Minnieur is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now