Table of Contents

Version Control - Commit Hash - Content Versioning

About

A content-based version is a cryptographically secure hash over a set of bits, and that hash is used as the version for those bits.

A commit generate a sha version number.

A commit trigger generally a build.

The list of commit gives a log that shows the history of the code.

Properties

Hash

Given a digital asset (source code, binaries, groups of files, images, videos, etc.), run a cryptographically-secure hash over the bits that comprise that asset, and use the hash as the version for that asset.

See http://conver.io/

Example in Git:

git checkout 72e5e550d1835013832f64597cb1368b7155bd53

where 72e5e550d1835013832f64597cb1368b7155bd53 is the content hash.

Message

A clean, clear consistent commit log is an indication of a high-quality project.

It's also a great tool for users and maintainers alike as the commit log becomes the release notes, which is the main way that people find out what features are in the project.

Inspired by Julian Hyde email on the Calcite mailing list (Check those commit messages please! at 1 June 2018 at 19:42)

Documentation / Reference