id = "fossil" name = "Fossil" homepage = "https://fossil-scm.org/" description = "A distributed version control system with an integrated web interface." executables = ["fossil"] [dotfiles] # Fossil's official environment/options documentation identifies the legacy # account-wide ~/.fossil file and the XDG-unix $XDG_CONFIG_HOME/fossil.db # configuration database location. # https://fossil-scm.org/home/doc/server-docs/www/env-opts.md#home-directory paths = ["~/.fossil", "[configHome]/fossil.db"] exclude = [] secret = [] side_effect = false [commands] format = 1 label = "Fossil" description = "Clone a Fossil repository or commit changes in the current check-out. Only a few options of fossil clone and fossil commit are covered; sync, branch and server commands are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false } [[commands.subcommand]] path = ["clone"] label = "Clone a repository" description = "Make a local copy of a repository and, by default, open a check-out." [[commands.subcommand.source]] id = "help" kind = "help" url = "https://fossil-scm.org/home/help/clone" revision = "Fossil 2.29" evidence = """ Usage: fossil clone ?OPTIONS? URI ?FILENAME? -A|--admin-user USERNAME Make USERNAME the administrator --no-open Clone only. Do not open a check-out. --private Also clone private branches -u|--unversioned Also sync unversioned content -v|--verbose Show more statistics in output --workdir DIR Also open a check-out in DIR """ [[commands.subcommand.field]] id = "uri" label = "Repository URI" description = "http(s)://, ssh:// or a local path to a .fossil file." type = "string" position = 0 min = 1 sources = ["help"] [[commands.subcommand.field]] id = "filename" label = "Local repository file" description = "Defaults to a name taken from the URI." type = "path" path = { kind = "file", role = "output" } position = 1 sources = ["help"] [[commands.subcommand.field]] id = "workdir" label = "Open check-out in" type = "path" path = { kind = "directory", role = "output" } option = ["--workdir"] sources = ["help"] [[commands.subcommand.field]] id = "no_open" label = "Clone only, no check-out" type = "boolean" option = ["--no-open"] sources = ["help"] [[commands.subcommand.field]] id = "admin_user" label = "Admin user" type = "string" option = ["--admin-user", "-A"] sources = ["help"] [[commands.subcommand.field]] id = "private" label = "Include private branches" type = "boolean" option = ["--private"] sources = ["help"] [[commands.subcommand.field]] id = "unversioned" label = "Include unversioned content" type = "boolean" option = ["--unversioned", "-u"] sources = ["help"] [[commands.subcommand.field]] id = "verbose" label = "Verbose" type = "boolean" option = ["--verbose", "-v"] sources = ["help"] [[commands.subcommand.task]] id = "clone" label = "Clone" fields = ["uri", "filename"] required = ["uri"] [[commands.subcommand.task]] id = "clone_workdir" label = "Clone and open in a directory" fields = ["uri", "filename", "workdir"] required = ["uri", "workdir"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["uri", "filename", "workdir"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["no_open", "admin_user", "private", "unversioned", "verbose"] [[commands.subcommand]] path = ["commit"] label = "Commit changes" description = "Create a new check-in from the changes in the current check-out." [[commands.subcommand.source]] id = "help" kind = "help" url = "https://fossil-scm.org/home/help/commit" revision = "Fossil 2.29" evidence = """ Usage: fossil commit ?OPTIONS? ?FILE...? --allow-empty Allow a commit with no changes --branch NEW-BRANCH-NAME Check in to this new branch -m|--comment COMMENT-TEXT Use COMMENT-TEXT as the check-in comment -M|--message-file FILE Read the check-in comment from FILE -n|--dry-run Do not actually create a new check-in. Just --private The --private option creates a private check-in that is never synced. --tag option applies the symbolic tag name to the check-in. """ [[commands.subcommand.field]] id = "comment" label = "Check-in comment" type = "string" option = ["--comment", "-m"] sources = ["help"] [[commands.subcommand.field]] id = "message_file" label = "Comment from file" type = "path" path = { kind = "file", role = "input" } option = ["--message-file", "-M"] sources = ["help"] [[commands.subcommand.field]] id = "branch" label = "New branch" description = "Place the check-in on a newly created branch with this name." type = "string" option = ["--branch"] sources = ["help"] [[commands.subcommand.field]] id = "dry_run" label = "Dry run" type = "boolean" option = ["--dry-run", "-n"] sources = ["help"] [[commands.subcommand.field]] id = "allow_empty" label = "Allow empty commit" type = "boolean" option = ["--allow-empty"] sources = ["help"] [[commands.subcommand.field]] id = "private" label = "Private check-in" description = "Never synced." type = "boolean" option = ["--private"] sources = ["help"] [[commands.subcommand.field]] id = "files" label = "Files" description = "Commit only these files; empty commits all changes." type = "path" path = { kind = "file", role = "input" } position = 0 multiple = true sources = ["help"] [[commands.subcommand.task]] id = "commit_all" label = "Commit all changes" fields = ["comment"] required = ["comment"] [[commands.subcommand.task]] id = "preview" label = "Dry-run commit" fields = ["comment", "dry_run"] required = ["comment"] set = { dry_run = [true] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["comment", "files", "dry_run"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["message_file", "branch", "allow_empty", "private"]