Software:Quilt
Developer(s) | Andreas Gruenbacher, Jean Delvare |
---|---|
Stable release | 0.67
/ February 15, 2022 |
Written in | Bash script |
Operating system | Cross-platform |
Type | Patch management |
License | GNU GPLv2+ |
Website | savannah |
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.[1]
Quilt evolved from a set of patch-management scripts originally written by Linux kernel developer Andrew Morton,[2] and was developed by Andreas Grünbacher for maintaining Linux kernel customizations for SuSE Linux.[3] 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,[4] 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.[5] Quilt is also integrated into and supported by the similar Yocto Project build system supported by the Linux Foundation.[6]
Mercurial queues (mq), an extension of the Mercurial revision control system, provides similar functionality;[7] and StGit provides an equivalent functionality on top of Git.[8]
See also
- Apache Subversion
- Git (software)
References
- ↑ "30 Linux Kernel Developers in 30 Weeks: Greg Kroah-Hartman". Linux.com. July 9, 2012. https://www.linux.com/news/special-feature/linux-developers/600241:30-linux-kernel-developers-in-30-weeks-greg-kroah-hartman.
- ↑ "patch management scripts". 2002-10-20. https://lwn.net/Articles/13518/.
- ↑ Grünbacher, Andreas (June 12, 2005) (PDF). How To Survive With Many Patches, or Introduction to Quilt. http://www.suse.de/~agruen/quilt.pdf. Retrieved April 25, 2008.
- ↑ "Accepted dpkg 1.15.5.3 (source all amd64)". Lists.debian.org. November 27, 2009. http://lists.debian.org/debian-devel-changes/2009/11/msg02647.html.
- ↑ "Working with patches [OpenWrt Wiki]". 2015-11-30. http://wiki.openwrt.org/doc/devel/patches.
- ↑ "Using Quilt in Your Workflow". 2016-12-13. http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#using-a-quilt-workflow.
- ↑ "MqExtension - Mercurial". Selenic.com. http://www.selenic.com/mercurial/wiki/index.cgi/MqExtension.
- ↑ "Stacked Git". https://stacked-git.github.io/#other-patch-stack-tools.
External links
- Quilt Tutorial (PDF)