id = "osc" name = "osc" homepage = "https://openbuildservice.org" description = "Command-line interface to work with an Open Build Service" executables = ["osc"] [dotfiles] # https://github.com/openSUSE/osc#configuration and # https://opensuse-commander.readthedocs.io/en/latest/oscrc.html document the # XDG config path, with ~/.oscrc retained as the legacy fallback. oscrc can # contain OBS passwords, so the whole file is a credential rather than content. paths = [] secret = ["[configHome]/osc/oscrc", "~/.oscrc"] [commands] format = 1 label = "Open Build Service" description = "Check out, branch and commit packages with osc. Building, requests, project metadata and the 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 = ["checkout"] label = "Check out a package" [[commands.subcommand.source]] id = "man" kind = "manual" url = "https://manpages.debian.org/unstable/osc/osc.1.en.html" revision = "Debian unstable" evidence = """ osc co PROJECT [PACKAGE] [FILE] osc co PROJECT # entire project osc co PROJECT PACKAGE # a package -r rev, --revision rev: checkout the specified revision. NOTE: if you checkout the complete project this option is ignored! -u, --unexpand-link: if a package is a link, check out the _link file instead of the expanded sources -M, --meta: checkout out meta data instead of sources -c, --current-dir: place PACKAGE folder in the current directory instead of a PROJECT/PACKAGE directory -o outdir, --output-dir outdir: place package in the specified directory instead of a PROJECT/PACKAGE directory -s, --source-service-files: Run source services. """ [[commands.subcommand.field]] id = "revision" label = "Revision" type = "string" option = ["--revision", "-r"] sources = ["man"] [[commands.subcommand.field]] id = "unexpand_link" label = "Keep _link unexpanded" type = "boolean" option = ["--unexpand-link", "-u"] sources = ["man"] [[commands.subcommand.field]] id = "meta" label = "Meta data instead of sources" type = "boolean" option = ["--meta", "-M"] sources = ["man"] [[commands.subcommand.field]] id = "current_dir" label = "Place package in current directory" type = "boolean" option = ["--current-dir", "-c"] sources = ["man"] [[commands.subcommand.field]] id = "output_dir" label = "Output directory" type = "path" option = ["--output-dir", "-o"] path = { kind = "directory", role = "output" } sources = ["man"] [[commands.subcommand.field]] id = "source_services" label = "Run source services" type = "boolean" option = ["--source-service-files", "-s"] sources = ["man"] [[commands.subcommand.field]] id = "project" label = "Project" type = "string" position = 0 sources = ["man"] [[commands.subcommand.field]] id = "package" label = "Package" description = "Omit to check out the entire project." type = "string" position = 1 sources = ["man"] [[commands.subcommand.task]] id = "package" label = "Check out a package" fields = ["project", "package", "revision", "current_dir"] required = ["project", "package"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["project", "package", "revision", "current_dir", "output_dir"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["unexpand_link", "meta", "source_services"] [[commands.subcommand]] path = ["branch"] label = "Branch a package" [[commands.subcommand.source]] id = "man" kind = "manual" url = "https://manpages.debian.org/unstable/osc/osc.1.en.html" revision = "Debian unstable" evidence = """ osc branch SOURCEPROJECT SOURCEPACKAGE osc branch SOURCEPROJECT SOURCEPACKAGE TARGETPROJECT|. TARGETPACKAGE -c, --checkout: Checkout branched package afterwards using "co -e -S"('osc bco' is a shorthand for this option) -f, --force: force branch, overwrite target -m TEXT, --message TEXT: specify message TEXT -r rev, --revision rev: branch against a specific revision --nodevelproject: do not follow a defined devel project (primary project where a package is developed) --disable-build: disable building of the branched package """ [[commands.subcommand.field]] id = "checkout" label = "Check out afterwards" type = "boolean" option = ["--checkout", "-c"] sources = ["man"] [[commands.subcommand.field]] id = "force" label = "Force, overwrite target" type = "boolean" option = ["--force", "-f"] effect = "overwrite" sources = ["man"] [[commands.subcommand.field]] id = "message" label = "Message" type = "string" option = ["--message", "-m"] sources = ["man"] [[commands.subcommand.field]] id = "revision" label = "Revision" type = "string" option = ["--revision", "-r"] sources = ["man"] [[commands.subcommand.field]] id = "nodevelproject" label = "Do not follow the devel project" type = "boolean" option = ["--nodevelproject"] sources = ["man"] [[commands.subcommand.field]] id = "disable_build" label = "Disable building the branch" type = "boolean" option = ["--disable-build"] sources = ["man"] [[commands.subcommand.field]] id = "source_project" label = "Source project" type = "string" position = 0 sources = ["man"] [[commands.subcommand.field]] id = "source_package" label = "Source package" type = "string" position = 1 sources = ["man"] [[commands.subcommand.field]] id = "target_project" label = "Target project" description = "Use . for the default." type = "string" position = 2 sources = ["man"] [[commands.subcommand.field]] id = "target_package" label = "Target package" type = "string" position = 3 sources = ["man"] [[commands.subcommand.task]] id = "branch_checkout" label = "Branch and check out" fields = ["source_project", "source_package", "checkout"] required = ["source_project", "source_package"] set = { checkout = [true] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["source_project", "source_package", "target_project", "target_package", "checkout", "message"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["force", "revision", "nodevelproject", "disable_build"] [[commands.subcommand]] path = ["commit"] label = "Commit changes" [[commands.subcommand.source]] id = "man" kind = "manual" url = "https://manpages.debian.org/unstable/osc/osc.1.en.html" revision = "Debian unstable" evidence = """ osc ci # current dir osc ci