Em sistemas de controle de versão, um repositório é uma estrutura de dados persistida em disco que armazena metadados para um conjunto de arquivos e pastas. Dependendo do sistema de controle de versão em uso, pode ser distribuído (Eg: Git / Mercurial) ou cetralizado (Eg: Subversion e Perforce), toda a suíte de informações dentro do repositório poderão ser duplicadas para o sistema de cada usuário ou centralizado em um único serviço. Alguns destes metadados contidos em um repositório inclui entre outras coisas: