Gated Commit
   HOME

TheInfoList



OR:

A gated commit, gated check-in or pre-tested commit is a software integration
pattern A pattern is a regularity in the world, in human-made design, or in abstract ideas. As such, the elements of a pattern repeat in a predictable manner. A geometric pattern is a kind of pattern formed of geometric shapes and typically repeated l ...
that reduces the chances for breaking a build (and often its associated tests) by committing changes into the main branch of
version control Version control (also known as revision control, source control, and source code management) is the software engineering practice of controlling, organizing, and tracking different versions in history of computer files; primarily source code t ...
. This pattern can be supported by a
continuous integration Continuous integration (CI) is the practice of integrating source code changes frequently and ensuring that the integrated codebase is in a workable state. Typically, developers Merge (version control), merge changes to an Branching (revisio ...
(CI) server. To perform a gated commit the software developer must request a gated commit from the CI server before committing the actual changes to a central location. The CI server merges the local changes with the head of the master branch and performs the validations (build and tests) that make up the gate. So the developer can see if his or her changes break the build without actually committing the changes. A commit to the central location will only be allowed if the gates are cleared. As an alternative this pattern can be realized using different
branches A branch, also called a ramus in botany, is a stem that grows off from another stem, or when structures like veins in leaves are divided into smaller veins. History and etymology In Old English, there are numerous words for branch, includi ...
in version control. For instance,
GitHub GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
can force all commits to a branch B to be merge commits from
pull request In software development, distributed version control (also known as distributed revision control) is a form of version control in which the complete codebase, including its full history, is mirrored on every developer's computer. Compared to centr ...
s which have successfully been built on the CI server and are up-to-date (i.e. based or rebased on B).


See also

*
TeamCity TeamCity is a build management and continuous integration server from JetBrains. It was first released on October 2, 2006 and is commercial software and licensed under a proprietary license: a freemium license for up to 100 build configuration ...


References

{{Version control software Continuous integration Build automation