В системах управления версиями, хранилище представляет собой структуру данных, которая хранит метаданные для набора файлов или структуры каталогов. В зависимости от того, распределена ли используемая система контроля версий ( Git или Mercurial ) или централизованная ( Subversion, CVS или Perforce ), весь набор информации в репозитории может дублироваться в каждой пользовательской системе или может храниться в единый сервер. Некоторые из метаданных, содержащихся в репозитории, включают, среди прочего:
Основное назначение репозитория - хранить набор файлов, а также историю изменений, внесенных в эти файлы. Однако то, как каждая система управления версиями обрабатывает эти изменения, сильно отличается: например, Subversion в прошлом полагалась на экземпляр базы данных и с тех пор перешла на хранение своих изменений непосредственно в файловой системе. Эти различия в методологии обычно приводят к разнообразному использованию средств контроля версий разными группами в зависимости от их потребностей.