Quilt (software)

From Wikipedia, the free encyclopedia

Developer(s)Andreas Gruenbacher, Jean Delvare
Stable release
0.67[1] Edit this on Wikidata / 3 March 2022; 2 years ago (3 March 2022)
Written inBash script
Operating systemCross-platform
TypePatch management
LicenseGNU GPLv2+

Quilt is a software utility for managing a series of changes to the source code of any computer program. Such changes are often referred to as "patches" or "patch sets". Quilt can take an arbitrary number of patches as input and condense them into a single patch. In doing so, Quilt makes it easier for many programmers to test and evaluate the different changes amongst patches before they are permanently applied to the source code.

Tools of this type are very important for distributed software development, in which many programmers collaborate to test and build a single large codebase. For example, quilt is heavily used by the maintainers of the Linux kernel.[2]

Quilt evolved from a set of patch-management scripts originally written by Linux kernel developer Andrew Morton,[3] and was developed by Andreas Grünbacher for maintaining Linux kernel customizations for SuSE Linux.[4] It is now being developed as a community effort, hosted at the GNU Savannah project repository and distributed as free software (its license is the GNU General Public License v2, or later). Quilt's name originated from patchwork quilts.

Quilt has been incorporated into dpkg,[5] Debian's package manager, and is one of the standard source formats supported from the Debian "squeeze" release onwards. This source format is identified as "3.0 (quilt)" by dpkg. Quilt is integrated into the Buildroot, which is notably used by OpenWrt.[6] Quilt is also integrated into and supported by the similar Yocto Project build system supported by the Linux Foundation.[7]

Mercurial queues (mq), an extension of the Mercurial revision control system, provides similar functionality;[8] and StGit provides an equivalent functionality on top of Git.[9]

See also[edit]


  1. ^ "Quilt 0.67 released".
  2. ^ "30 Linux Kernel Developers in 30 Weeks: Greg Kroah-Hartman". Linux.com. July 9, 2012. Retrieved August 22, 2014.
  3. ^ "patch management scripts". Lwn.net. October 20, 2002. Retrieved May 6, 2016.
  4. ^ Grünbacher, Andreas (June 12, 2005). "How To Survive With Many Patches, or Introduction to Quilt" (PDF). Suse.de. Archived from the original (PDF) on February 21, 2007. Retrieved April 25, 2008.
  5. ^ "Accepted dpkg (source all amd64)". Lists.debian.org. November 27, 2009. Retrieved August 22, 2014.
  6. ^ "Working with patches [OpenWrt Wiki]". Wiki.openwrt.org. November 30, 2015. Retrieved May 6, 2016.
  7. ^ "Using Quilt in Your Workflow". December 13, 2016. Retrieved December 13, 2016.
  8. ^ "MqExtension - Mercurial". Selenic.com. Retrieved August 22, 2014.
  9. ^ "Stacked Git". stacked-git.github.io. Retrieved April 12, 2022.

External links[edit]