Repository

from Wikipedia, the free encyclopedia

A repository (English for warehouse , depot or source ; plural : repositories ), also - borrowed directly from Latin - repositorium (Pl. Repositories ), is a managed directory for the storage and description of digital objects for a digital archive .

The managed objects can be programs (software repository), publications ( document server ), data models (metadata repository) or business processes, for example . A repository often also contains functions for the version management of the managed objects.

Version management repository

With version control systems such as CVS , Git or SVN , the source code files or other files are kept in a repository or project archive . You will be "checked out" from there; H. loaded onto a programmer's computer . After editing, the changed files are "checked in" back into the repository, with the change being logged. The version management serves to document the system development, but also allows the reconstruction of earlier states of the system description at any time.

Such a version management system enables large teams to work together on software projects, since differences in files can be found via version management and merged using a merge mechanism. Thus, no change is lost.

A main function of the version management is the version history, which allows the user to jump back to each state of a file "checked in" by a user and to use this version.

Software repository

The repository contains program packages and associated metadata , e.g. B. Descriptions of the packages, dependency information and change logs . A package manager is responsible for installing and updating the software from the repository . This is why the German term “ Paketquelle” is often used in this context . Popular examples of software repositories are CPAN or portable apps .

This principle is often used by Linux distributions to give the user central access to current or tested software. One advantage is that with an update by the package management, both the system and the applications are updated, so there is no need to manually check whether it is up-to-date by visiting the individual project websites. The maintenance of a program package in an update repository is done by a package maintainer , who mostly comes from the community around the distribution and does not have to be involved in the actual development of the software.

Metadata repository

Metadata repositories are usually database tables for the administration of metadata , which serve as the basis for highly integrative systems. They contain all the necessary descriptions of the system itself and the environment. With the help of metadata repositories, these systems can react flexibly to changes without any programming effort, following the motto: “Define instead of programming”. Metadata repositories are used in data warehouses and EAI architectures , among other things .

The free collection of facts Wikidata can also be viewed as a repository in this sense.

CASE tools

With some modeling tools (“CASE” = computer-aided software engineering ) the repository is used to store all project data such as diagrams , source code and documentation .

Document server

In the context of online publications , the term repository is used synonymously for document server. An example of a document server is ArXiv.org .

See also