# Advantages and Disadvantages of a Monolithic Repository

* Date read - 2020-01-11
* Paper - [Advantages and Disadvantages of a Monolithic Repository](https://people.engr.ncsu.edu/ermurph3/papers/seip18.pdf)

## Notes

* Advantages of monorepos
  * Forced consistency is viewed as a benefit of monorepos even though this is related to the *lack of flexibility* in monorepos compared to multi-repos
  * Ability to search for code is important to both code quality and velocity
* Advantages of multi-repos
  * Flexibility of tooling
  * Stable versioning
  * Diamond dependencies

## Related papers

* [Cohesive and Isolated Development with Branches](http://earlbarr.com/publications/gitbranches.pdf)
  * Ease of branching seems to be one of the major contributors in the adaption

    of DVCs, such as git and mercurial
  * Contrary to convention wisdom it is not the ease of development with

    distributed, as opposed centralised, development is *not* the key to the

    adaption of DVCs.
* [Why Google Stores Billions of Lines of Code in a Single Repository](https://cacm.acm.org/magazines/2016/7/204032-why-google-stores-billions-of-lines-of-code-in-a-single-repository/fulltext)
  * Google Piper - in-house source control management system
