A repository (English for 'Bearing', Depot ' or ' source ', dt pl repositories. ), Too - borrowed directly from the Latin - repository ( pl. repositories ), is a managed directory for storing and description of digital objects. In the managed objects can be, for example, programs ( software repository ), publications ( Document Server ), data models ( metadata repository ) or business process action. Often a repository also includes functions for managing versions of the managed objects.
Repository for version management
In centralized version control systems such as CVS or SVN source code files or other files are kept in a repository, or the repository. They are " checked out " from there, that is on the computer of a programmer charged. After editing, the changed files will be " checked in" to the repository, the change is logged. Version control is the documentation of system development, but also allows the reconstruction at any time by previous states of the system description.
Here, the repository contains software packages and associated metadata, such as descriptions of the packages, dependency information and change logs. Installing or upgrading the software from the repository accepts a package manager. Therefore, in this context, the German -language name of source package is also often used. Popular examples of software repositories are CPAN or PortableApps.
This principle is widely used by Linux distributions, in order to allow the user to centrally access to current or tested software. One advantage is that with an update by the package management of both the system and the applications are updated and so manually checking the timeliness eliminated by visiting the individual project sites. The maintenance of a software package in an update repository accepts a package maintainer who usually comes from the community around the distribution, and does not have to be involved in the actual development of the software.
When metadata repositories are usually database tables for managing metadata, which serve as a basis for highly integrated systems. In them all the necessary descriptions to the system itself and the environment is included. With the help of metadata repositories, these systems can respond flexibly to changes along the lines of without programming: "Defining instead of programming". Metadata repositories are used, among other things, in data warehouse and EAI architectures.
Some modeling tools ( "CASE " = Computer-Aided Software Engineering ) is the repository to store all project data, such as charts, source code and documentation.
In the context of online publications, the term repository is used synonymously for document server. An example of a document server is ArXiv.org.