Google's Single Repository

Google's Single Repository

Google’s Single Repository Zachary Crews, Inhan Park, Ayush Ganotra, Gabbie Velazquez-Pergola What a Single Repository is: - Also known as Monorepo - A means of storing assets and maintaining a codebase. - All projects created would depend and be built on top of a single codebase. - Unified Versioning - Features include: useful, enormous libraries, tons of code for reuse, and custom versioning and control. - - How does it work : - Piper / Citc source system - Allow to access from any machine - Work on local copied file - Keep receive updates from server - Update to server after receive review - Trunk based development - Prevent long-lived branch - Make changes visible immediately Why Google chose this way (background) : - Unified Version of Code - Extensive Code Sharing and Reuse - Collaboration Across Teams - Flexible Team Boundaries - Code Visibility Costs and Tradeoffs - Tooling needs to be very scalable - Cost of systems and developer tools - Increased dependencies - Less APIs - Less documentation Alternatives: Mercurial - Google is currently investigating using Mercurial, a version control system - Facebook monorepo with Mercurial - hgwatchman file monitor extension - File status - remotefilelog extension - File history and updates - Only download commit metadata - On demand file download Discussion Questions - As a developer, would you prefer working with a monorepo or multiple repos? - Can a monorepo be continued if more codes are added? - Can a Single repo be changed into a multi repo? Sources https://dl.acm.org/doi/pdf/10.1145/2854146 https://cacm.acm.org/magazines/2016/7/204032-why-google-stores-billions-of-line s-of-code-in-a-single-repository/fulltext#:~:text=A%20single%20repository%20prov ides%20unified,can%20depend%20on%20it%20directly https://www.youtube.com/watch?v=W71BTkUbdqE https://medium.com/@maoberlehner/monorepos-in-the-wild-33c6eb246cb9 https://engineering.fb.com/core-data/scaling-mercurial-at-facebook/.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us