本项目为openEuler开源实习OSCourse SIG任务 Link
Git is a content-addressable filesystem and a distributed collaboration system. All files of a single repository persisted on the disk of the machine. It brings a lot of benefits to performance and maintenance. But it also has challenges for monorepo. It is hard to manage a vast code repository like a repo has 20 TB, which is typical in a middle size enterprise.
Google has a monolithic repository platform, Piper, with more than 100 TB of data. It's building on top of Google's infrastructure. Gust's purpose is to imitate Piper's architecture to implement a developing platform which compatible Git and trunk-based development flow for collaboration, open source compliance and supply chain management and DevSecOps.
In Git, the content of the file or commit message to store in a file with a specification format, and we call the file an Object. There are four object types: Blob, Tree, Commit and Tag.
This project enforce the DCO.
Contributors sign-off that they adhere to these requirements by adding a Signed-off-by line to commit messages.
This is my commit message
Signed-off-by: Random J Developer <[email protected]>
Git even has a -s command line option to append this automatically to your commit message:
$ git commit -s -m 'This is my commit message'
Gust is licensed under this Licensed:
- MIT LICENSE ( LICENSE-MIT or https://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
[1] What is monorepo? (and should you use it?)
[2] Monorepo: A single repository for all your code
[3] Why Google Stores Billions of Lines of Code in a Single Repository