This glossary contains the definition of common terms used in the Software Heritage project.
- a (specific version of a) file stored in the archive, identified by its cryptographic hashes (SHA1, "git-like" SHA1, SHA256) and its size
- Also known as: Blob
- Note: it is incorrect to refer to Contents as "files", because files are usually considered to be named, whereas Contents are nameless. It is only in the context of specific Directories that Contents acquire (local) names
- Cryptographic hash
- a fixed-size "summary" of a stream of bytes that is easy to compute, and hard to reverse. (Cryptographic hash function Wikipedia article)
- also known as: Checksum, Digest
- a set of named pointers to contents (file entries), directories (directory entries) and revisions (revision entries)
- see Cryptographic hash
- a location from which a coherent set of sources has been obtained.
- Also known as: Data source
- an organized effort to develop a software product. Projects might be nested following organizational structures (sub-project, sub-sub-project), are associated to a number of human-meaningful metadata, and release software products via Origins.
- a revision that has been marked by a project as noteworthy with a specific, usually mnemonic, name (for instance, a version number).
- Also known as: Tag (Git-specific terminology)
- a Git tag with its name
- a tarball with its name
- a Debian source package with its version number.
- a "point in time" snapshot in the development history of a project.
- Also known as: Commit (VCS terminology)
- a Git commit
- (Secure Hash Algorithm) a family of Cryptographic hashes published by the NIST (SHA Wikipedia article)
- the state of all visible branches during a specific visit of an origin
- acronym for Version Control System
- Examples: Git, Subversion, Mercurial