是否有相当于Google的版本控制工具piper的开源代码?
Google将其所有代码库存储在一个名为piper [1] [2] [3]的存储库中。是否有相当于Google的版本控制工具piper的开源代码?
它有一种与开源替代品(集中式“云”服务)完全不同的方法,旨在将数十亿文件,数千个开发人员和数百万次提交[1]扩展到存储库。 (它们的构建系统bazel和一些其他工具[4]相反)它似乎并不是Google开源的,也不打算这样做(与他们的构建系统bazel和一些其他工具相反)。
你知道任何开源版本控制系统的方法类似piper吗?
[2] https://www.wired.com/2015/09/google-2-billion-lines-codeand-one-place/
[3] https://www.youtube.com/watch?v=W71BTkUbdqE
[4] https://opensource.google.com/projects/list/developer-tools?page=3
短的答案是否定的,它似乎不存在。
正如你可以在Quora article中看到的那样,“很难判断版本控制系统的结束位置,以及开发工具链的其他部分的开始位置”。
因此,首先您需要清楚您对哪些“功能”感兴趣,因为您可以对不属于派珀的责任的功能感兴趣。
还要记住,在选择VCS之前,您的服务器磁盘空间和操作系统会限制文件数量/大小。
如果您需要集中式VCS和数十亿个文件,则可以使用SVN或OpenCVS。
如果您需要一个包含数千个开发人员和数百万次提交的分布式应用程序,请查看Git,Bazaar,Bitbucket或Mercurial。
但是你真的有所有这些要求吗?
AFAIK在市场上没有派珀的开源代码。
为了更好地了解集中式和分布式VCS,看看this Comparison between Centralized and Distributed Version Control Systems
的东西“请记住,在选择VCS之前,您的服务器磁盘空间和操作系统会限制文件数量/大小” - >这就是要点:吹笛者并非如此。这是一个集中的VCS,但是一个分布式服务。 '云服务'方法允许'无限可扩展性'。存储库内容被分片。 '结帐'只是服务器端的元数据+安装'网络FS'。文件操作将RPC转换为维护“本地副本”状态的服务。好处:您的“本地副本”实际上可供任何人使用。 –
所以对于这些功能,我会说'分布式服务'与'熔丝接口',尽管它更多的是实现细节。可能有其他方法来实现“无限可扩展性”的真正需求。再加上您期望从VCS获得的基本功能:历史记录,工作副本,更新和合并......我也有一种印象,它不存在于开源中。一些专有解决方案声称这(perforce,塑料),但我不知道这是多么真实。 –
@ColinPitrat Perforce“声称”这一点,但我没有使用它一次来验证。我不知道Google Piper提供的资源等开源项目。现在,对你的问题最好的简单回答是“不,没有类似Piper的选择”。无论如何,绝大多数公司都不需要“无限可扩展性”。请记住,Google Piper只是Google使用的解决方案中的一个应用程序,涉及许多其他工具。 – MiguelKVidal
你需要储存装置2个十亿行代码? 在免费云基础上的vcs bitbucket非常慷慨。 –
不是我自己,但我遇到的公司远远不够,目前使用数百个git/hg/cvs存储库,并且它们之间存在依赖关系。更新几乎所有存储库共享的“通用”组件的版本是一场噩梦。所以这些版本很少见,而其他版本库包含的代码应该是常见的,并且是重复的,因为它比将它集成到现有的常见库中更加容易。还有其他一些问题,如可查找性,集成测试等等......基本上,Google给出了使用单个存储库的所有原因。 –
在这种情况下,我可能会看到类似SVN –