Glossary

From Software Heritage Wiki
Jump to navigation Jump to search

This glossary contains the definition of common terms used in the Software Heritage project.

C

Content
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

D

Directory
a set of named pointers to contents (file entries), directories (directory entries) and revisions (revision entries)

H

Hash
see Cryptographic hash

O

Origin
a location from which a coherent set of sources has been obtained.
Also known as: Data source
Examples:

P

Project
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.

R

Release
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)
Examples:
  • a Git tag with its name
  • a tarball with its name
  • a Debian source package with its version number.
Revision
a "point in time" snapshot in the development history of a project.
Also known as: Commit (VCS terminology)
Examples:
  • a Git commit

S

SHA
(Secure Hash Algorithm) a family of Cryptographic hashes published by the NIST (SHA Wikipedia article)
Snapshot
the state of all visible branches during a specific visit of an origin

V

VCS
acronym for Version Control System
Examples: Git, Subversion, Mercurial