php – 如何使用Git在开发和生产环境中分发Thrift生成的代码?

如何使用Git(PHP,Python等)管理存储库和部署例程中生成的源代码文件?

例如,我有一个名为“interfaces”的存储库,其中包含Thrift定义.它们可以转换为Python,PHP,JS等骨架/存根.不同语言的其他项目(每个项目都在自己的存储库中)希望使用这些存根.如何将存根交付给项目?

我只看到两种方式:

>生成存根文件并将它们存储在“interfaces”存储库中,并且此存储库应附加到项目的存储库(作为只读子模块或任何其他方式).但是,由于过于复杂的“git子模块”概念,在检查接口和存根的更新时,这种方式引入了许多令人头疼的问题.
>将纯“接口”存储库附加到每个项目,并生成存根文件作为临时git-ignorable(!)文件(使用“make stubs”或类似文件).这样,每个项目都可以拥有自己的生成设置,并应用自己的补丁(如果需要的话).但是你需要在PHP / Python开发和生产环境中引入一些编译命令(而不仅仅是“git pull”).

这些方法的优点和缺点是什么?

解决方法:

通常最好支持“存储生成内容”路由上的“生成”路由,主要是因为您并不总是100%确定所述生成内容的当前状态:它是否与源同步?

在推送时,后接收挂钩可以小心生成相关内容.
Git HooksPro-Git hooks.
但是,在你自己的本地实例上(即在git pull上),别名可能同时结合拉动和生成所述内容.

上一篇:学JS的心路历程-闭包closure


下一篇:c# – 托管Thrift服务有哪些选择?