A repository is a shared database of versions of software components and meta-information about changes to these components.