マイクロソフトは、非常に大規模なリポジトリをサポートするGit仮想ファイルシステムを発表しました
2分。 読んだ
上で公開
MSPoweruser の編集チームの維持にどのように貢献できるかについては、開示ページをお読みください。 続きを読む
Gitは、多くの人が関与するソフトウェア開発で使用される分散型リビジョン管理システムです。 Microsoftの多くのチームはすでにGitを使用しています。 大規模なコードベースを持つチームは、Gitが非常に巨大なコードベースで動作するように設計されていないため、現在のバージョンのGitでパフォーマンスの問題に直面しています。 例えば、 Windowsコードベースには3.5万を超えるファイルがあり、サイズは270GBを超えています。 「gitcheckout」を実行すると、最大3時間、「git clone」は12時間以上、または単純な「gitstatus」でも実行に約10分かかります。 これらのパフォーマンスの問題を回避するために、MicrosoftはGitクライアントを非常に巨大なリポジトリに拡張できるソリューションに取り組んでいます。 新しいソリューションはGVFS(Git Virtual File System)と呼ばれます。
仕組みは次のとおりです。
- GVFSは、リポジトリの下にあるファイルシステムを仮想化し、リポジトリ内のすべてのファイルが存在するように見せますが、実際には、ファイルを最初に開いたときにのみダウンロードします。
- また、GVFSは、チェックアウトやステータスなどの操作でGitが考慮しなければならないリポジトリの量を積極的に管理します。これは、ハイドレイトされていないファイルは安全に無視できるためです。
GVFSはファイルシステムレベルで管理されるため、IDEとビルドツールはそのままサポートします。 GVFSはすでにパフォーマンスの大幅な改善を提供していますが、Microsoftはそれをさらに改善するために取り組んでいます。 マイクロソフトは、クライアントコードの調達もオープンにしています。 GVFSソースコードはMITライセンスの下で利用可能です。