id = "quilt"
name = "GNU Quilt"
homepage = "https://savannah.nongnu.org/projects/quilt"
description = "Work with series of patches"
executables = ["quilt"]
[dotfiles]
paths = ["~/.quiltrc"]
secret = []
[commands]
format = 1
label = "Manage a patch series"
description = "The everyday quilt commands: new, add, refresh, push and pop. Other commands are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand]]
path = ["new"]
label = "Create a patch"
description = "Create a new patch after the topmost one."
[[commands.subcommand.source]]
id = "man"
kind = "manual"
url = "https://manpages.debian.org/bookworm/quilt/quilt.1.en.html"
revision = "0.67"
evidence = """
new [-p n|-p ab]
{patchname}
-p n
Create a -p n style patch (-p0 or -p1 are supported).
"""
[[commands.subcommand.field]]
id = "patchname"
label = "Patch name"
type = "string"
position = 0
sources = ["man"]
[[commands.subcommand.field]]
id = "strip"
label = "Patch style"
description = "-p0 or -p1."
type = "enum"
option = ["-p"]
choices = [{ value = "0", label = "-p0" }, { value = "1", label = "-p1" }]
sources = ["man"]
[[commands.subcommand.task]]
id = "new"
label = "New patch"
fields = ["patchname", "strip"]
required = ["patchname"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["patchname", "strip"]
[[commands.subcommand]]
path = ["add"]
label = "Add files to a patch"
description = "Files must be added before they are modified."
[[commands.subcommand.source]]
id = "man"
kind = "manual"
url = "https://manpages.debian.org/bookworm/quilt/quilt.1.en.html"
revision = "0.67"
evidence = """
add [-P patch] {file} ...
Add one or more files to the topmost or named patch.
-P patch
Patch to add files to.
"""
[[commands.subcommand.field]]
id = "files"
label = "Files"
type = "path"
position = 0
multiple = true
path = { kind = "file", role = "input", must_exist = true }
sources = ["man"]
[[commands.subcommand.field]]
id = "patch"
label = "Patch"
description = "Defaults to the topmost patch."
type = "string"
option = ["-P"]
sources = ["man"]
[[commands.subcommand.task]]
id = "add"
label = "Add files"
fields = ["files", "patch"]
required = ["files"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["files", "patch"]
[[commands.subcommand]]
path = ["refresh"]
label = "Refresh a patch"
description = "Regenerate the topmost or named patch from the working tree."
[[commands.subcommand.source]]
id = "man"
kind = "manual"
url = "https://manpages.debian.org/bookworm/quilt/quilt.1.en.html"
revision = "0.67"
evidence = """
refresh [-p
n|-p ab] [-u|-U num|-c|-C num] [-z[new_name]] [-f] [--no-timestamps]
[--no-index] [--diffstat] [--sort] [--backup] [--strip-trailing-whitespace]
[patch]
-f
Enforce refreshing of a patch that is not on top.
--no-timestamps
Do not include file timestamps in patch headers.
--no-index
Do not output Index: lines.
--diffstat
Add a diffstat section to the patch header, or replace the
--backup
Create a backup copy of the old version of a patch as
--sort
Sort files by their name instead of preserving the original order.
--strip-trailing-whitespace
Strip trailing whitespace at the end of lines.
"""
[[commands.subcommand.field]]
id = "patch"
label = "Patch"
description = "Defaults to the topmost patch."
type = "string"
position = 0
sources = ["man"]
[[commands.subcommand.field]]
id = "no_timestamps"
label = "No timestamps"
type = "boolean"
option = ["--no-timestamps"]
sources = ["man"]
[[commands.subcommand.field]]
id = "no_index"
label = "No Index: lines"
type = "boolean"
option = ["--no-index"]
sources = ["man"]
[[commands.subcommand.field]]
id = "diffstat"
label = "Add diffstat"
type = "boolean"
option = ["--diffstat"]
sources = ["man"]
[[commands.subcommand.field]]
id = "sort"
label = "Sort files"
type = "boolean"
option = ["--sort"]
sources = ["man"]
[[commands.subcommand.field]]
id = "backup"
label = "Keep backup"
type = "boolean"
option = ["--backup"]
sources = ["man"]
[[commands.subcommand.field]]
id = "strip_ws"
label = "Strip trailing whitespace"
type = "boolean"
option = ["--strip-trailing-whitespace"]
sources = ["man"]
[[commands.subcommand.field]]
id = "force"
label = "Force (patch not on top)"
type = "boolean"
option = ["-f"]
sources = ["man"]
[[commands.subcommand.task]]
id = "refresh"
label = "Refresh topmost patch"
fields = ["no_timestamps", "no_index", "diffstat"]
required = []
[[commands.subcommand.task]]
id = "refresh-named"
label = "Refresh named patch"
fields = ["patch", "force", "no_timestamps"]
required = ["patch"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["patch", "no_timestamps", "no_index", "diffstat"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["sort", "backup", "strip_ws", "force"]
[[commands.subcommand]]
path = ["push"]
label = "Apply patches"
description = "Apply the next patch, N patches, or all."
[[commands.subcommand.source]]
id = "man"
kind = "manual"
url = "https://manpages.debian.org/bookworm/quilt/quilt.1.en.html"
revision = "0.67"
evidence = """
push [-afqvm]
[--fuzz=N] [--merge[=merge|diff3]] [--leave-rejects]
[--color[=always|auto|never]] [--refresh] [num|patch]
-a
Apply all patches in the series file.
-q
Quiet operation.
-f
Force apply, even if the patch has rejects.
-v
Verbose operation.
--fuzz=N
Set the maximum fuzz factor (default: 2).
--leave-rejects
Leave around the reject files patch produced, even if the
--refresh
Automatically refresh every patch after it was successfully
"""
[[commands.subcommand.field]]
id = "target"
label = "Count or patch name"
type = "string"
position = 0
sources = ["man"]
[[commands.subcommand.field]]
id = "all"
label = "Apply all patches"
type = "boolean"
option = ["-a"]
sources = ["man"]
[[commands.subcommand.field]]
id = "force"
label = "Force apply"
type = "boolean"
option = ["-f"]
effect = "overwrite"
sources = ["man"]
[[commands.subcommand.field]]
id = "quiet"
label = "Quiet"
type = "boolean"
option = ["-q"]
sources = ["man"]
[[commands.subcommand.field]]
id = "verbose"
label = "Verbose"
type = "boolean"
option = ["-v"]
sources = ["man"]
[[commands.subcommand.field]]
id = "fuzz"
label = "Max fuzz"
type = "integer"
option = ["--fuzz"]
sources = ["man"]
[[commands.subcommand.field]]
id = "leave_rejects"
label = "Leave reject files"
type = "boolean"
option = ["--leave-rejects"]
sources = ["man"]
[[commands.subcommand.field]]
id = "refresh"
label = "Refresh after applying"
type = "boolean"
option = ["--refresh"]
sources = ["man"]
[[commands.subcommand.task]]
id = "next"
label = "Apply next patch"
fields = ["target", "verbose"]
required = []
[[commands.subcommand.task]]
id = "all"
label = "Apply all patches"
set = { all = [true] }
lock = ["all"]
fields = ["all", "verbose", "quiet"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["target", "all", "verbose", "quiet"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["force", "fuzz", "leave_rejects", "refresh"]
[[commands.subcommand]]
path = ["pop"]
label = "Unapply patches"
description = "Remove the topmost patch, N patches, or all."
[[commands.subcommand.source]]
id = "man"
kind = "manual"
url = "https://manpages.debian.org/bookworm/quilt/quilt.1.en.html"
revision = "0.67"
evidence = """
pop [-afRqv] [--refresh]
[num|patch]
-a
Remove all applied patches.
-f
Force remove. The state before the patch(es) were applied will be restored
-R
Always verify if the patch removes cleanly; don't rely on timestamp
-q
Quiet operation.
-v
Verbose operation.
--refresh
Automatically refresh every patch before it gets
"""
[[commands.subcommand.field]]
id = "target"
label = "Count or patch name"
type = "string"
position = 0
sources = ["man"]
[[commands.subcommand.field]]
id = "all"
label = "Remove all patches"
type = "boolean"
option = ["-a"]
sources = ["man"]
[[commands.subcommand.field]]
id = "force"
label = "Force remove"
type = "boolean"
option = ["-f"]
effect = "overwrite"
sources = ["man"]
[[commands.subcommand.field]]
id = "verify"
label = "Always verify clean removal"
type = "boolean"
option = ["-R"]
sources = ["man"]
[[commands.subcommand.field]]
id = "quiet"
label = "Quiet"
type = "boolean"
option = ["-q"]
sources = ["man"]
[[commands.subcommand.field]]
id = "verbose"
label = "Verbose"
type = "boolean"
option = ["-v"]
sources = ["man"]
[[commands.subcommand.field]]
id = "refresh"
label = "Refresh before unapplying"
type = "boolean"
option = ["--refresh"]
sources = ["man"]
[[commands.subcommand.task]]
id = "top"
label = "Remove topmost patch"
fields = ["target", "verbose"]
required = []
[[commands.subcommand.task]]
id = "all"
label = "Remove all patches"
set = { all = [true] }
lock = ["all"]
fields = ["all", "verbose", "quiet"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["target", "all", "verbose", "quiet"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["force", "verify", "refresh"]