GIT-OBS(1)

πŸ“¦
version 1.27.3 Β· 6 versions
, in fedora 43, fedora 44

✨ GIT-OBS(1) ✨

okay bestie, welcome to git-obs β€” she's the Git based command-line client for Open Build Service, and she's literally the moment. this is Generated Python Manual, page GIT-OBS(1), and we're gonna go through the whole thing together, no skips, no shortcuts, because you deserve to actually understand her πŸ’…


🌸 NAME 🌸

git-obs β€” Git based command-line client for Open Build Service


πŸ¦‹ SYNOPSIS πŸ¦‹

git-obs [global opts] <command> [--help] [opts] [args]

πŸ’œ DESCRIPTION πŸ’œ

git-obs is a command-line client for interacting with Git repositories within a Gitea instance that is part of an Open Build Service (OBS). that's the whole vibe. she talks to your Gitea, she talks to your OBS, she does the little errands so you don't have to 🫢


πŸŽ€ OPTIONS πŸŽ€

  • -q, --quiet β€” Mute unnecessary output. she's quiet, she's mysterious, she's not gonna spam your terminal πŸ’€
  • --gitea-config GITEA_CONFIG β€” Path to gitea config. Default: $GIT_OBS_CONFIG or ~/.config/tea/config.yml. yeah she reads your tea config like it's her diary.
  • -G GITEA_LOGIN, --gitea-login GITEA_LOGIN β€” Name of the login entry in the config file. Default: $GIT_OBS_LOGIN or the default entry from the config file. Alternatively, you can use gitea url as long as there's only a single matching entry in the config file.

You can omit this argument and set GIT_OBS_GITEA_URL, GIT_OBS_GITEA_USER, and GIT_OBS_GITEA_TOKEN environmental variables instead. Optional variables: GIT_OBS_GITEA_SSH_KEY

To override the existing values from the config file, you can specify the following environmental variables:

  • GIT_OBS_LOGIN_<LOGIN-NAME>_USER
  • GIT_OBS_LOGIN_<LOGIN-NAME>_TOKEN
  • GIT_OBS_LOGIN_<LOGIN-NAME>_SSH_KEY

Setting new name or url is not possible. Please note that the login name that is part of the environmental variable name is case sensitive. ⚠️ yes bestie, CASE. SENSITIVE. do not come crying to me when GIT_OBS_LOGIN_myLogin_USER doesn't hit πŸ™ˆ


πŸ‘‘ COMMANDS πŸ‘‘

🧚 git-obs api

Make an arbitrary request to API. just you, the API, and whatever chaos you're about to cause πŸ’€

usage:

git-obs [global opts] api [-h] [-X
       {GET,HEAD,POST,PATCH,PUT,DELETE}]
                                        [--data DATA]
                                        url

arguments:

  • url

options:

  • -X {GET,HEAD,POST,PATCH,PUT,DELETE}, --method {GET,HEAD,POST,PATCH,PUT,DELETE}
  • --data DATA

🧚 git-obs file

Manage metadata files in a repo. the paperwork era, but make it glamorous ✨

usage:

git-obs [global opts] file [-h] {maintainership} ...

🧚 git-obs file maintainership

Manage the _maintainership.json file. yes, THAT json file. we love her, we fear her 🫢

usage:

git-obs [global opts] maintainership [-h] {migrate} ...

🧚 git-obs file maintainership migrate

Read _maintainership.json and convert it from legacy format to the current format. glow-up service, literally 🌈

usage:

git-obs [global opts] migrate [-h] [-i] [path]

arguments:

  • path β€” Path to the _maintainership.json file (default: _maintainership.json)

options:

  • -i, --in-place β€” Write the result back to the original file instead of printing to stdout. she edits herself in place, main character energy fr

🧚 git-obs login

Manage configured credentials to Gitea servers. your little keyring of identities πŸ’…

usage:

git-obs [global opts] login [-h]
                                          {add,gitcredentials-helper,list,remove,update}
...

🧚 git-obs login add

Add a Gitea credentials entry. new login, who dis πŸŽ€

usage:

git-obs [global opts] add [-h] --url URL --user USER [--token
       TOKEN]
                                        [--ssh-key PATH] [--ssh-agent]
                                        [--ssh-key-agent-pub SSH_KEY_AGENT_PUB]
                                        [--git-uses-http] [--quiet]
                                        [--set-as-default]
                                        name

arguments:

  • name β€” The name of the login entry to be added

options:

  • --url URL β€” Gitea URL, for example https://example.com
  • --user USER β€” Gitea username
  • --token TOKEN β€” Gitea access token; omit or set to '-' to invoke a secure interactive prompt
  • --ssh-key PATH β€” Path to a private SSH key
  • --ssh-agent β€” Use ssh-agent for authentication
  • --ssh-key-agent-pub SSH_KEY_AGENT_PUB β€” Public SSH key signature for ssh authentication. Setting this option switches from token to ssh auth.
  • --git-uses-http β€” Git uses http(s) instead of SSH
  • --quiet β€” Mute unnecessary output when using this login entry
  • --set-as-default β€” Set the new login entry as default

🧚 git-obs login list

List Gitea credentials entries. inventory check, but for your secrets πŸ‘€

usage:

git-obs [global opts] list [-h] [--show-tokens]

options:

  • --show-tokens β€” Show tokens in the output. bestie. careful. that's all I'm saying πŸ™ˆ

🧚 git-obs login remove

Remove a Gitea credentials entry. she's gone, she's deleted, we don't talk about her πŸ’€

usage:

git-obs [global opts] remove [-h] name

arguments:

  • name β€” The name of the login entry to be removed

🧚 git-obs login update

Update a Gitea credentials entry. same login, new you ✨

usage:

git-obs [global opts] update [-h] [--new-name NEW_NAME]
       [--new-url URL]
                                           [--new-user USER] [--new-token
       TOKEN]
                                           [--new-ssh-key PATH]
                                           [--new-ssh-agent {0,1,yes,no}]
                                           [--new-ssh-key-agent-pub
       NEW_SSH_KEY_AGENT_PUB]
                                           [--new-git-uses-http {0,1,yes,no}]
                                           [--new-quiet {0,1,yes,no}]
                                           [--set-as-default]
                                           name

arguments:

  • name β€” The name of the login entry to be updated

options:

  • --new-name NEW_NAME β€” New name of the login entry
  • --new-url URL β€” New Gitea URL, for example https://example.com
  • --new-user USER β€” Gitea username
  • --new-token TOKEN β€” Gitea access token; set to '-' to invoke a secure interactive prompt
  • --new-ssh-key PATH β€” Path to a private SSH key
  • --new-ssh-agent {0,1,yes,no} β€” Use ssh-agent for authentication
  • --new-ssh-key-agent-pub NEW_SSH_KEY_AGENT_PUB β€” Public SSH key signature for ssh authentication. Setting this option switches from token to ssh auth.
  • --new-git-uses-http {0,1,yes,no} β€” Git uses http(s) instead of SSH
  • --new-quiet {0,1,yes,no} β€” Mute unnecessary output when using this login entry
  • --set-as-default β€” Set the login entry as default

🧚 git-obs meta

Manage metadata in .git/obs store. it lives INSIDE your git directory, which is so iconic of her πŸ’–

usage:

git-obs [global opts] meta [-h] {info,list,pull,reset,set} ...

🧚 git-obs meta info

Resolve and print metadata about the current checkout. she's gonna tell you exactly where you are and what you're doing, like a very good friend 🫢

usage:

git-obs [global opts] info [-h] [--type | --apiurl | --project |
                                         --package | --branch | --commit |
       --remote |
                                         --remote-url | --export]

options:

  • --type β€” Print type
  • --apiurl β€” Print apiurl
  • --project β€” Print project
  • --package β€” Print package
  • --branch β€” Print branch
  • --commit β€” Print commit
  • --remote β€” Print remote
  • --remote-url β€” Print remote_url
  • --export β€” Show json objects instead of human readable text

🧚 git-obs meta list

List metadata in store. show me what you got πŸ‘‘

usage:

git-obs [global opts] list [-h] [--branch BRANCH]

options:

  • --branch BRANCH β€” Manage values for the specified branch (default: current branch)

🧚 git-obs meta pull

Pull metadata about the project or package from Gitea. she's going and fetching it for you, no cap 🌈

usage:

git-obs [global opts] pull [-h]

🧚 git-obs meta reset

Reset metadata in store. ctrl+z but make it official πŸŽ€

usage:

git-obs [global opts] reset [-h] [--branch BRANCH]

options:

  • --branch BRANCH β€” Manage values for the specified branch (default: current branch)

🧚 git-obs meta set

Set metadata in store. your values, your rules ✨

usage:

git-obs [global opts] set [-h] [--apiurl APIURL] [--project
       PROJECT]
                                        [--package PACKAGE] [--branch BRANCH]

options:

  • --apiurl APIURL β€” Set 'apiurl'
  • --project PROJECT β€” Set 'project'
  • --package PACKAGE β€” Set 'package'
  • --branch BRANCH β€” Manage values for the specified branch (default: current branch)

🧚 git-obs pr

Manage pull requests. THE main event. the whole reason we're here. PRs are the moment πŸ’…

usage:

git-obs [global opts] pr [-h]
                                       {cancel-scheduled-merge,checkout,close,comment,create,dump,forward,get,show,list,merge,new-package-request,reopen,review,search,set,show-patch}
...

🧚 git-obs pr cancel-scheduled-merge

Cancel scheduled merge of pull requests. changed your mind? iconic. valid. go off πŸ’–

usage:

git-obs [global opts] cancel-scheduled-merge [-h] id [id ...]

arguments:

  • id β€” Pull request ID in <owner>/<repo>#<number> format

🧚 git-obs pr checkout

Check out a pull request. bring her into your working tree, make her feel at home πŸ¦‹

usage:

git-obs [global opts] checkout [-h] [-f] pull

arguments:

  • pull β€” Number of the pull request

options:

  • -f, --force β€” Reset the existing local branch to the latest state of the pull request

🧚 git-obs pr close

Close pull requests. not every story needs a merge ending, and that's okay 🫢

usage:

git-obs [global opts] close [-h] [-m MESSAGE] id [id ...]

arguments:

  • id β€” Pull request ID in <owner>/<repo>#<number> format

options:

  • -m MESSAGE, --message MESSAGE β€” Text of the comment

🧚 git-obs pr comment

Comment pull requests. say your piece bestie, we're all listening πŸ‘‘

usage:

git-obs [global opts] comment [-h] [-m MESSAGE] id [id ...]

arguments:

  • id β€” Pull request ID in <owner>/<repo>#<number> format

options:

  • -m MESSAGE, --message MESSAGE β€” Text of the comment

🧚 git-obs pr create

Create a pull request. the birth of a legend. this is her origin story 🌟

usage:

git-obs [global opts] create [-h] [--title TEXT] [--description
       TEXT]
                                           [--source BRANCH_ID] [--target
       BRANCH_ID]
                                           [--source-owner OWNER]
                                           [--source-repo REPO]
                                           [--source-branch BRANCH]
                                           [--target-owner OWNER]
                                           [--target-repo REPO]
                                           [--target-branch BRANCH] [--self]
                                           [--separate-requests] [--dry-run]
                                           [--allow-empty]
                                           [--allow-maintainer-edit
       {0,1,yes,no}]

options:

  • --title TEXT β€” Pull request title
  • --description TEXT β€” Pull request description (body)
  • --source BRANCH_ID β€” Source owner, repo and branch (format: <owner>/<repo>:<branch>)
  • --target BRANCH_ID β€” Target owner, repo and branch (format: <owner>/<repo>:<branch>, <owner>:<branch>, :<branch>)
  • --self β€” Use the local git repository as the target for the pull request. ✨ (it's giving "I got this" energy, bestie)
  • --separate-requests β€” Create separate pull requests for each package in the project. πŸ’…
  • --dry-run β€” Do not actually create the pull request. πŸ™ˆ (we're just pretending, no cap)
  • --allow-empty β€” Allow creating a pull request even if there are no changes. πŸ¦‹ (empty PR? bold move, but ok)
  • --allow-maintainer-edit {0,1,yes,no} β€” Whether users with write access to the base branch can also push to the pull request's head branch (default: yes). πŸ‘‘

deprecated options πŸ’€

These are old and crusty, bestie. Use the new ones instead. 😭
  • --source-owner OWNER β€” Owner of the source repo (deprecated, use --source instead). 😭
  • --source-repo REPO β€” Name of the source repo (deprecated, use --source instead). 😭
  • --source-branch BRANCH β€” Source branch (deprecated, use --source instead). 😭
  • --target-owner OWNER β€” Target owner (deprecated, use --target instead). 😭
  • --target-repo REPO β€” Target repo (deprecated, use --target instead). 😭
  • --target-branch BRANCH β€” Target branch (deprecated, use --target instead). 😭

git-obs pr dump πŸ’–

Dump a pull request to disk. ✨

usage:

       usage: git-obs [global opts] dump [-h] [--subdir-fmt FMT] id [id ...]

Return codes:

  • 0: default return code
  • 1-9: reserved for error states
  • 11: pull request(s) skipped due to no longer being open

In addition to the return codes, a STATUS file is written in each target directory, the values are: RUNNING, FAILED, SUCCESS.

arguments:

  • id β€” Pull request ID in <owner>/<repo>#<number> format.

options:

  • --subdir-fmt FMT β€” Formatting string for a subdir associated with each pull request (default: '{owner}/{repo}/{number}'). Available values:
    • 'owner', 'repo' and 'number' parsed from the specified pull request ID
    • 'pr' object which is an instance of 'osc.gitea_api.PullRequest'
    • 'login_name', 'login_user' from the currently used Gitea login entry

git-obs pr forward πŸ’–

Forward sources from one branch to another (Fork -> Sync -> Push -> PR). 🌈 (the whole pipeline, slay)

usage:

       usage: git-obs [global opts] forward [-h] [--workdir WORKDIR]
       [--no-cleanup]
                                            [--dry-run] [--source-url
       SOURCE_URL]
                                            [--title TITLE]
                                            [--description DESCRIPTION] [-e]
                                            --mode
       {merge,merge-unrelated,fast-forward,sync,auto}
                                            owner_repo source_branch
       target_branch

arguments:

  • owner_repo β€” Owner and repo: (format: <owner>/<repo>).
  • source_branch β€” Source branch name (e.g. factory).
  • target_branch β€” Target branch name (e.g. slfo-main).

options:

  • --workdir WORKDIR β€” Working directory for git operations (default: temporary directory).
  • --no-cleanup β€” Do not remove the temporary directory after completion.
  • --dry-run β€” Do not actually create the pull request or push changes.
  • --source-url SOURCE_URL β€” URL of the source git repository (if different from upstream).
  • --title TITLE β€” Pull request title.
  • --description DESCRIPTION β€” Pull request description (body).
  • -e, --edit β€” Open an editor to edit the pull request title and description.
  • --mode {merge,merge-unrelated,fast-forward,sync,auto} β€”
    • merge: Merge the source branch into the target branch, remove any extra files not found in the target.
    • merge-unrelated: Same as merge, but with merging unrelated histories allowed. Consider using other modes first.
    • fast-forward: Fast-forward changes, don't create any merge commit.
    • sync: Create a new commit that synchronizes the contents of the branch with the source branch.
    • auto: Use fast-forward if possible, merge otherwise.

git-obs pr get (show) πŸ’–

Get details about the specified pull requests. πŸ¦‹

usage:

       usage: git-obs [global opts] get [-h] [-p] [--timeline]
                                        owner_repo_pull [owner_repo_pull ...]

arguments:

  • owner_repo_pull β€” Owner, repo and pull request number (format: <owner>/<repo>#<pull-request-number>).

options:

  • -p, --patch β€” Show patches associated with the pull requests.
  • --timeline β€” Show timelines of the pull requests.

git-obs pr list πŸ’–

List pull requests in a repository. 🌸

usage:

       usage: git-obs [global opts] list [-h] [--state {open,closed,all}]
                                         [--reviewer REVIEWERS]
                                         [--review-state
       {REQUEST_REVIEW,APPROVED}]
                                         [--target-branch TARGET_BRANCHES]
                                         [--source-owner SOURCE_OWNERS]
       [--no-draft]
                                         [--label LABELS] [--export]
                                         owner_repo [owner_repo ...]

arguments:

  • owner_repo β€” Owner and repo: (format: <owner>/<repo>).

options:

  • --state {open,closed,all} β€” State of the pull requests (default: open).
  • --reviewer REVIEWERS β€” Filter by reviewer. Team reviewers start with '@'.
  • --review-state {REQUEST_REVIEW,APPROVED} β€” Filter by review state. Needs to be used with --reviewer.
  • --target-branch TARGET_BRANCHES β€” Filter by target branch.
  • --source-owner SOURCE_OWNERS β€” Filter by source owner.
  • --no-draft β€” Filter by draft flag. Exclude pull requests with draft flag set.
  • --label LABELS β€” Filter by label. Can be specified multiple times.
  • --export β€” Show json objects instead of human readable text.

git-obs pr merge πŸ’–

Merge pull requests. <fire>πŸ”₯</fire> (let's get it)

usage:

       usage: git-obs [global opts] merge [-h] [--now] id [id ...]

arguments:

  • id β€” Pull request ID in <owner>/<repo>#<number> format.

options:

  • --now β€” Merge immediately, don't wait until all checks succeed. πŸ‘‘

git-obs pr new-package-request πŸ’–

Request a new package. πŸŽ€

usage:

       usage: git-obs [global opts] new-package-request [-h] [-m MESSAGE] -t
       TARGET
                                                        [packages ...]

Create a new package request issue in the target repository.

arguments:

  • packages β€” Package(s) to add (format: <owner>/<repo>:<branch>). If omitted, the current checkout is used. Specify the most significant packages first. (format: <owner>/<repo>:<branch>).

options:

  • -m MESSAGE, --message MESSAGE β€” Additional information (e.g., links to bug trackers) that justify adding the package(s).
  • -t TARGET, --target TARGET β€” Target repository and branch (format: <owner>/<repo>:<branch>) (format: <owner>/<repo>:<branch>).

git-obs pr reopen πŸ’–

Reopen pull requests. πŸ”„

usage:

       usage: git-obs [global opts] reopen [-h] [-m MESSAGE] id [id ...]

arguments:

  • id β€” Pull request ID in <owner>/<repo>#<number> format.

options:

  • -m MESSAGE, --message MESSAGE β€” Text of the comment.

git-obs pr review πŸ’–

Manage pull request reviews. πŸ‘€

usage:

       usage: git-obs [global opts] review [-h]
                                           {approve,cancel-request,decline,interactive}
       ...

git-obs pr review approve πŸ’–

Approve pull request reviews. βœ…

usage:

       usage: git-obs [global opts] approve [-h] [-m MESSAGE] [--commit COMMIT]
                                            [--reviewer REVIEWER]
                                            id [id ...]

arguments:

  • id β€” Pull request ID in <owner>/<repo>#<number> format.

options:

  • -m MESSAGE, --message MESSAGE β€” Justification of the review state change.
  • --commit COMMIT β€” Pin the review to the specified commit.
  • --reviewer REVIEWER β€” Review on behalf of the specified reviewer that is associated to group review bot.

git-obs pr review cancel-request πŸ’–

Cancel a request for review of pull request. ❌

usage:

       usage: git-obs [global opts] cancel-request [-h] [-n] [-a] [-x EXCLUDE]
                                                   owner_repo_pull [user ...]

arguments:

  • owner_repo_pull β€” Owner, repo and pull request number (format: <owner>/<repo>#<pull-request-number>).
  • user β€” User with pending review request.

options:

  • -n, --dry-run β€” Don't do any action, only report what should be done.
  • -a, --all β€” Cancel all pending review requests.
  • -x EXCLUDE, --exclude EXCLUDE β€” Users to ignore when cancelling review requests.

git-obs pr review decline πŸ’–

Decline pull request reviews (request changes). πŸ’€

usage:

       usage: git-obs [global opts] decline [-h] -m MESSAGE [--commit COMMIT]
                                            [--reviewer REVIEWER]
                                            id [id ...]

arguments:

  • id β€” Pull request ID in <owner>/<repo>#<number> format.

options:

  • -m MESSAGE, --message MESSAGE β€” Justification of the review state change.
  • --commit COMMIT β€” Pin the review to the specified commit.
  • --reviewer REVIEWER β€” Review on behalf of the specified reviewer that is associated to group review bot.

git-obs pr review interactive πŸ’–

Interactive review of pull requests. ✨

usage:

       usage: git-obs [global opts] interactive [-h] [--reviewer REVIEWER] [id
       ...]

Since this is an interactive command, the program return code indicates the user choice:

  • 0: default return code
  • 1-9: reserved for error states
  • 10: user selected "exit"
  • 11: user selected "skip"

This might be useful when wrapping the command in any external review tooling, handling one review at a time.

arguments:

  • id β€” Pull request ID in <owner>/<repo>#<number> format.

options:

  • --reviewer REVIEWER β€” Review on behalf of the specified reviewer that is associated to group review bot.

Search pull requests in the whole gitea instance. πŸ”

usage: git-obs [global opts] search [-h] [--state {open,closed}] [--title TITLE] [--owner OWNER] [--label LABEL] [--assigned] [--created] [--mentioned] [--review-requested] [--export]

ok bestie this is the pull request search β€” the moment you go looking for PRs and you want them filtered, not just vibes. options incoming πŸ‘‡

  • --state {open,closed} β€” filter by state: open, closed (default: open)
  • --title TITLE β€” filter by a substring in the title
  • --owner OWNER β€” filter by the owner of the repository associated with the pull requests
  • --label LABEL β€” filter by associated labels. Non existent labels are just discarded πŸ—‘οΈ. You can drop this one multiple times.
  • --assigned β€” filter pull requests assigned to you
  • --created β€” filter pull requests created by you
  • --mentioned β€” filter pull requests mentioning you
  • --review-requested β€” filter pull requests requesting your review πŸ‘€
  • --export β€” show json objects instead of human readable text

git-obs pr set πŸ’…

Change a pull request. glow-up time, fr.

usage: git-obs [global opts] set [-h] [--title TITLE] [--description DESCRIPTION] [--allow-maintainer-edit ALLOW_MAINTAINER_EDIT] owner_repo_pull [owner_repo_pull ...]

arguments:

  • owner_repo_pull β€” Owner, repo and pull request number (format: <owner>/<repo>#<pull-request-number>)

options:

  • --title TITLE
  • --description DESCRIPTION
  • --allow-maintainer-edit ALLOW_MAINTAINER_EDIT β€” users with write access to the base branch can also push to the pull request's head branch

git-obs pr show-patch 🩹

Show the patch associated to the specified pull request. yes, the actual diff, no gatekeeping.

usage: git-obs [global opts] show-patch [-h] owner_repo_pull

arguments:

  • owner_repo_pull β€” Owner, repo and pull request number (format: <owner>/<repo>#<pull-request-number>)

git-obs repo πŸ“¦

Manage git repos. the whole little family of repo things.

usage: git-obs [global opts] repo [-h] {clone,fork,init,list} ...

git-obs repo clone 🧬

Clone a git repo.

usage: git-obs [global opts] clone [-h] [-b BRANCH] [-a] [-i SSH_KEY] [--no-ssh-strict-host-key-checking] [--directory DIRECTORY] owner_repo [owner_repo ...]
NOTE: Some of the options may result in setting "core.sshCommand" config option in the git repository."

arguments:

  • owner_repo β€” Owner and repo: (format: <owner>/<repo>)

options:

  • -b BRANCH, --branch BRANCH β€” checkout the specified branch
  • -a, --anonymous β€” clone anonymously via the http protocol
  • -i SSH_KEY, --ssh-key SSH_KEY β€” path to a private SSH key (identity file)
  • --no-ssh-strict-host-key-checking β€” set 'StrictHostKeyChecking no' ssh option
  • --directory DIRECTORY β€” clone into the given directory

git-obs repo fork 🍴

Fork a git repo. new repo, who dis.

usage: git-obs [global opts] fork [-h] [--new-repo-name NEW_REPO_NAME] [--target-owner OWNER] owner_repo [owner_repo ...]

arguments:

  • owner_repo β€” Owner and repo: (format: <owner>/<repo>)

options:

  • --new-repo-name NEW_REPO_NAME β€” name of the newly forked repo
  • --target-owner OWNER β€” target owner (default: user's organization)

git-obs repo init 🌱

Init a git repo.

usage: git-obs [global opts] init [-h] [-a] [-t TEMPLATE] [-i SSH_KEY] [--no-ssh-strict-host-key-checking] path

Initialize or update a package git repo, setting .gitignore, .gitattributes and other files from a template. it's giving ✨fresh start✨.

arguments:

  • path β€” destination path to a directory which needs to be initialized. Default is current working directory

options:

  • -a, --anonymous β€” clone anonymously via the http protocol
  • -t TEMPLATE, --template TEMPLATE β€” path to a template directory url to git repository
  • -i SSH_KEY, --ssh-key SSH_KEY β€” path to a private SSH key (identity file)
  • --no-ssh-strict-host-key-checking β€” set 'StrictHostKeyChecking no' ssh option

git-obs repo list πŸ“‹

List repos. we love a scrollable list, no cap.

usage: git-obs [global opts] list [-h] [--org ORG_LIST] [--user USER_LIST] [--export]

Required permissions:

read:organization
read:user

options:

  • --org ORG_LIST β€” list repos owned by the specified organizations
  • --user USER_LIST β€” list repos owned by the specified users
  • --export β€” show json objects instead of human readable text

git-obs ssh-key πŸ”‘

Manage public SSH keys. the keys to the kingdom, literally.

usage: git-obs [global opts] ssh-key [-h] {add,list,remove} ...

git-obs ssh-key add βž•

usage: git-obs [global opts] add [-h] (--key KEY | --key-path PATH)

options:

  • --key KEY β€” SSH public key
  • --key-path PATH β€” path to the SSH public key

git-obs ssh-key list πŸ—‚οΈ

usage: git-obs [global opts] list [-h]

git-obs ssh-key remove ❌

usage: git-obs [global opts] remove [-h] id

arguments:

  • id β€” Id of the SSH public key

git-obs staging 🎭

Manage staging projects.

usage: git-obs [global opts] staging [-h] {group,remove,search} ...

git-obs staging group πŸ«‚

Group multiple staging project pull requests into a target staging project pull request. it's giving found family energy.

usage: git-obs [global opts] group [-h] [--target TARGET] [--title TITLE] [--fork-owner FORK_OWNER] [--fork-branch FORK_BRANCH] [--remove-pr-references] [--force] [--target-repo TARGET_REPO] [--source-owner SOURCE_OWNER] [--no-ssh-strict-host-key-checking] [--cache-dir CACHE_DIR] [pr_id ...]

arguments:

  • pr_id β€” List of project pull request to be merged into the target project pull request (format: <owner>/<repo>#<pull-request-number>)

options:

  • --target TARGET β€” target project pull request to modify (format: <owner>/<repo>#<pull-request-number>). If not specified, a new pull request will be created.
  • --title TITLE β€” title of the new pull request. Defaults to 'Update packages: <pkg> [pkg] ...'. Conflicts with --target.
  • --fork-owner FORK_OWNER β€” owner of the fork used to create a new pull request. Defaults to the currently logged user. Conflicts with --target.
  • --fork-branch FORK_BRANCH β€” branch in the fork used to create a new pull request. Defaults to 'for/<target_branch>/group-YYYY-MM-DD_HH-MM-SS'. Conflicts with --target.
  • --remove-pr-references β€” remove 'PR:' references from the source project pull requests
  • --force β€” allow force-push to the branch associated with the pull request
  • --target-repo TARGET_REPO β€” target repo (format: <owner>/<repo>). Requires --source-owner.
  • --source-owner SOURCE_OWNER β€” source owner (e.g. a devel project)
  • --no-ssh-strict-host-key-checking β€” set 'StrictHostKeyChecking no' ssh option
  • --cache-dir CACHE_DIR β€” path to a git cache.

git-obs staging remove 🧹

Remove package pull requests from a project pull request. decluttering era πŸ’…

usage: git-obs [global opts] remove [-h] [--close-removed] [--keep-temp-dir] target pr_id [pr_id ...]

arguments:

  • target β€” project pull request to modify (format: <owner>/<repo>#<pull-request-number>)
  • pr_id β€” List of package pull requests to be removed from the project pull request (format: <owner>/<repo>#<pull-request-number>)

options:

  • --close-removed β€” close pull requests after removing their references
  • --keep-temp-dir β€” don't delete the temporary directory with git checkouts

Search staging pull requests.

usage: git-obs [global opts] search [-h] --type {BACKLOG,INPROGRESS,ONHOLD} [--package-review-state {APPROVED,ALL}] [--target-branch TARGET_BRANCHES] [--export] owner_repo

arguments:

  • owner_repo β€” Owner and repo: (format: <owner>/<repo>)

options:

  • --type {BACKLOG,INPROGRESS,ONHOLD} β€” filter by review state.
  • --package-review-state {APPROVED,ALL} β€” filter by review state on *all* referenced *package* PRs.
  • --target-branch TARGET_BRANCHES β€” filter by target branch.
  • --export β€” show json objects instead of human readable text

✨ AUTHOR ✨

Contributors to the osc project. See the project's GIT history for the complete list. every single one of them an icon, fr fr 🫢


🌈 DISTRIBUTION 🌈

The latest version of osc may be downloaded from https://github.com/openSUSE/osc/


and that's the whole page, bestie!! πŸŽ€ this one's osc, dated 2026-08-12, and it lives under the name GIT-OBS(1) β€” go forth and obs, you absolute main character πŸ‘‘πŸ’–

πŸ“¦ where this page comes from