Reference articles on history, science, culture and more
Encyclopedia

Changeset

In version control software, a changeset (also known as commit and revision) is a set of alterations packaged together, along with meta-information about the alterations. A changeset describes the exact differences between two successive versions in the version control system's repository of changes. Changesets are typically treated as an atomic unit, an indivisible set, by version control systems. This is one synchronization model.

01Terminology

In the Git version control system a changeset is called a commit, not to be confused with the commit operation that is used to commit a changeset (or in Git's case technically a snapshot) to a repository.

Other version control systems also use other names to refer to changesets, for example Darcs calls them "patches", while Pijul refers to them as "changes".

02Metadata

Version control systems attach metadata to changesets. Typical metadata includes a description provided by the programmer (a "commit message" in Git lingo), the name of the author, the date of the commit, etc.

Unique identifiers are an important part of the metadata which version control systems attach to changesets. Centralized version control systems, such as Subversion and CVS simply use incrementing numbers as identifiers. Distributed version control systems, such as Git, generate a unique identifier by applying a cryptographic hash function to the changeset.

03Best practices

Because version control systems operate on changesets as atomic units, and because communication within development teams improves performance, there are certain best practices to follow when creating changesets. Only the 2 most significant are mentioned here, changeset content atomicity and changeset descriptions.

Changeset content should involve only one task or fix, and contain only code which works and does not knowingly break existing functionality.

Changeset descriptions should be short, recording why the modification was made, the modification's effect or purpose, and describing non-obvious aspects of how the change works.

Watch videos about ChangesetExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article Changeset, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.