2017-09-24 23 views
2

Googleはすべてのコードベースをpiper [1] [2] [3]という1つのリポジトリに保存します。Googleのバージョン管理ツールであるpiperに相当するオープンソースはありますか?

オープンソースの代替案(一元的な「クラウド」サービス)とは非常に異なるアプローチを持ち、数十億のファイル、数千の開発者、および何百万というコミット[1]を持つリポジトリにスケーリングすることを目指しています。

Googleはオープンソースではないようですが、ビルドシステムのbazelや他のツール[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=3

+0

を見て、あなたは、コードの20億行を格納する必要がありますか? は、無料のクラウドベースのvcs bitbucketの面で非常に寛大です。 –

+0

自分自身ではないが、私はこれまでとは違って、現在は何百ものgit/hg/cvsリポジトリを使い、それらの間の依存関係を持つ企業に会った。ほぼすべてのリポジトリで共有されている「共通の」コンポーネントのバージョンを更新するのは悪夢です。したがって、これらのリリースはまれであり、他のリポジトリには、既存の共通リポジトリに統合するよりも簡単であるため、一般的で複製が必要なコードが含まれています。 findability、integration testingなどの他の問題もあります。基本的に、Googleが単一のリポジトリを使用するために与えるすべての理由。 –

+0

そのような場合は、SVN –

答えて

4

短い答えがNOであると、存在していないようです。

Quora articleで読むことができるように、「バージョン管理システムがどこで終了するのか、開発ツールチェーンの他の部分がどこから始まるのかわかりにくいです。

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

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

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

開発者と何百万人ものコミットが混在する分散型アプリケーションが必要な場合は、Git、Bazaar、BitbucketまたはMercurialを参照してください。

しかし、本当ににすべての要件がありますか?

AFAIK市場にはパイパーのオープンソースはない。

優れた集中型および分散型VCSを理解するために、this Comparison between Centralized and Distributed Version Control Systems

を見てみましょう。またwhat is Google's repository like?

+0

のようなものを見ているでしょう。「選択したVCSの前にサーバーのディスク容量とOSがファイル数/サイズを制限することを覚えておいてください」 - それがポイントです。それは集中化されたVCSですが、分散サービスです。 「クラウドサービス」アプローチは「無限のスケーラビリティ」を可能にします。リポジトリの内容は破棄されます。 「チェックアウト」はサーバー側のメタデータであり、「ネットワークFS」をマウントしているだけです。ファイル操作は、ローカルコピーのステータスを維持するサービスにRPC変換します。メリット:あなたの「ローカルコピー」は実際には誰でもアクセス可能です。 –

+0

機能のために、私は、より詳細な実装の詳細ですが、 'ヒューズインターフェイス'と '分散サービス'と言うでしょう。 「無限のスケーラビリティ」という実際の要件を達成するための他の方法があるかもしれません。さらに、VCSの歴史、作業コピー、更新、マージなどの基本的な機能はもちろん、オープンソースには存在しないという印象もあります。いくつかのプロプライエタリなソリューションがこれを主張していますが(PERFORCE、プラスチック)、これはどういうことか分かりません。 –

+0

@ColinPitrat Perforceはこれを主張していますが、私はそれを一度検証して使用していません。私はGoogle Piperが提供するようなリソースを持つオープンソースプロジェクトは知らない。今、あなたの質問に対する最も簡単な答えは「いいえ、パイパーと似た選択肢はありません」です。とにかく、大部分の企業は「無限のスケーラビリティ」を必要とすることは非常に遠いです。 Google PiperはGoogleが使用するソリューションの1つのアプリに過ぎず、多くのツールが含まれています。 – MiguelKVidal

関連する問題