Python 如何在多个存储库之间共享Protocol Buffer.proto文件

Python 如何在多个存储库之间共享Protocol Buffer.proto文件,python,node.js,git,protocol-buffers,Python,Node.js,Git,Protocol Buffers,我们正在考虑在一个python和一个node.js服务之间使用,每个服务都位于各自的repo中 既然.proto文件必须可供两个回购方访问,我们应该如何共享.proto文件 我们目前正在考虑: 为我们所有的.proto文件创建一个repo,并使其成为我们所有服务的git子树 为所有.proto文件创建一个repo,在推送时发布私有python模块和私有节点模块,并要求来自相应服务的模块 为所有.proto文件创建repo,并将存储库指定为pip/npm包的目标 在存储库之间共享.proto文件的

我们正在考虑在一个python和一个node.js服务之间使用,每个服务都位于各自的repo中

既然
.proto
文件必须可供两个回购方访问,我们应该如何共享
.proto
文件

我们目前正在考虑:

  • 为我们所有的
    .proto
    文件创建一个repo,并使其成为我们所有服务的git子树
  • 为所有
    .proto
    文件创建一个repo,在推送时发布私有python模块和私有节点模块,并要求来自相应服务的模块
  • 为所有
    .proto
    文件创建repo,并将存储库指定为
    pip
    /
    npm
    包的目标

  • 在存储库之间共享
    .proto
    文件的标准方式是什么?

    这取决于您的开发过程


    在大多数情况下,git子树/子模块似乎是一个合理的解决方案。如果你有更多的下游项目,发布现成的模块是有意义的,因为每个项目都不需要原生成器。

    < P>我们在相同的情况下使用了3个RePOS:服务器端是用C++编写的,客户端是ActionScript 3,而原BuFFS是第三,两者都使用。对于一个大型团队和大型项目,我认为这是一个不错的选择。

    你是如何真正“使用”持有协议的回购协议的?就像其他回购协议一样——做出更改并提交它们。然后,例如,在客户端,项目是用ant脚本编译的,它首先将.proto文件转换成actionscript类,然后编译整个项目。这就是我们目前所倾向的。我仍然希望有更好的文档化最佳实践。这似乎是一个相当常见的使用案例。您是将每个原型文件保存在自己的存储库中,然后包含所需的原型存储库,还是将它们全部保存在一个存储库中,并包含所有原型文件,即使您在给定的服务中不需要它们?