id = "quilt" name = "GNU Quilt" homepage = "https://savannah.nongnu.org/projects/quilt" description = "Work with series of patches" executables = ["quilt"] [dotfiles] # Quilt evaluates ~/.quiltrc at startup when --quiltrc is not supplied. # https://man7.org/linux/man-pages/man1/quilt.1.html 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"]