web-dev-qa-db-ja.com

Googleのバージョン管理ツールであるpiperに相当するオープンソースはありますか?

Googleはすべてのコードベースをpiper [1] [2] [3]という単一のリポジトリに保存します。

オープンソースの代替手段(集中型「クラウド」サービス)とは非常に異なるアプローチを採用しており、数十億のファイル、数千の開発者、数百万のコミットを含むリポジトリへのスケーリングを目指しています[1]。

Googleはそれをオープンソース化していないようだし、そうするつもりもない(彼らのビルドシステムブレイズや他のツール[4]とは反対)。

Piperに似たアプローチのオープンソースバージョン管理システムを知っていますか?

[1] https://cacm.acm.org/magazines/2016/7/204032-why-google-stores-billions-of-lines-of-code-in-a-single-repository/fulltext

[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=

15
Colin Pitrat

短い答えはノーです、それは存在しないようです。

Quoraの記事 で読むことができるように、「バージョン管理システムがどこで終了し、開発ツールチェーンの他の部分がどこから始まるかを判断するのは困難です」。

したがって、最初に、パイパーの責任ではない機能に興味を持つことができるので、興味のある「機能」を明確にする必要があります。

また、選択したVCSの前に、サーバーのディスク容量とOSがファイル数/サイズを制限することに注意してください。

集中型VCSと数十億のファイルが必要な場合は、SVNまたはOpenCVSを使用できます。

数千の開発者と数百万のコミットを含む分散型が必要な場合は、Git、Bazaar、Bitbucket、またはMercurialをご覧ください。

しかし、あなたは本当にこれらすべての要件を持っていますか?

私の知る限り、パイパーのオープンソースに相当するものは市場にありません。

集中型VCSと分散型VCSをよりよく理解するには、 この集中型と分散型バージョン管理システムの比較 をご覧ください。

また、 Googleのリポジトリはどのようなものですか? もご覧ください

12
MiguelKVidal

Piperに相当するオープンソースはありません。

Piperは古く、 perforce area に由来する古い形式のAPIを持っていることに注意してください。最新のDVCSが提供するものと同様の、より最新のワークフローが必要になると思います。

あなたのコードベースはGoogleの86TBリポジトリほど大きくないと確信しています。あなたは本当に同じものが必要ですか?.

GitまたはMercurialに基づいたmonorepoを使用できると確信しています。また、必要に応じて[VFS for git] [2]などの仮想ファイルシステムに進化することもできます。

[2]:GitのVFS

1
rds

Googleは複数のバージョン管理ツールを構築しています。 Piperは、Googleモノレポのニーズに特化しています。

GoogleがAndroidを構築したとき、バージョン管理を処理するためにgerritとレポを構築しました。 Repoは、多くのgitリポジトリーを一度に処理するために使用され、各リポジトリーには独自のメンテナーとリリースサイクルがあります。オープンソースの依存関係は、単一の組織がグローバルビルドステータスやグローバルリファクタリングなどを強制することなく、monorepoには向いていません。また、リクエストに対応するコミットのパフォーマンスなど、パイパーの要件はほとんどの場所に適用されません。

1
Mark