table of contents
- Tumbleweed 1.22.0-1.1
- Leap-16.0
| GIT-OBS(1) | Generated Python Manual | GIT-OBS(1) |
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).
OPTIONS¶
- -q, --quiet
- Mute unnecessary output
- --gitea-config GITEA_CONFIG
- Path to gitea config. Default: $GIT_OBS_CONFIG or ~/.config/tea/config.yml.
- -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.
COMMANDS¶
git-obs api¶
Make an arbitrary request to API
usage: git-obs [global opts] api [-h] [-X
{GET,HEAD,POST,PATCH,PUT,DELETE}]
[--data DATA]
url
arguments:
options:
git-obs login¶
Manage configured credentials to Gitea servers
git-obs [global opts] login
usage: git-obs [global opts] login [-h]
{add,gitcredentials-helper,list,remove,update} ...
git-obs login add¶
Add a Gitea credentials entry
usage: git-obs [global opts] add [-h] --url URL --user USER
[--token TOKEN]
[--ssh-key PATH] [--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
- --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
usage: git-obs [global opts] list [-h] [--show-tokens]
options:
- --show-tokens
- Show tokens in the output
git-obs login remove¶
Remove a Gitea credentials entry
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
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-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-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
git-obs [global opts] meta
usage: git-obs [global opts] meta [-h] {info,list,pull,reset,set} ...
git-obs meta info¶
Resolve and print metadata about the current checkout
usage: git-obs [global opts] info [-h] [--type | --apiurl |
--project |
--package | --branch | --commit | --remote |
--remote-url | --export]
options:
git-obs meta list¶
List metadata in store
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.
usage: git-obs [global opts] pull [-h]
git-obs meta reset¶
Reset metadata in store
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
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
git-obs [global opts] pr
usage: git-obs [global opts] pr [-h]
{cancel-scheduled-merge,checkout,close,comment,create,dump,get,show,list,merge,reopen,review,search,set,show-patch}
...
git-obs pr cancel-scheduled-merge¶
Cancel scheduled merge of pull requests
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
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
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
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
usage: git-obs [global opts] create [-h] [--title TEXT]
[--description TEXT]
[--source-owner OWNER]
[--source-repo REPO]
[--source-branch BRANCH]
[--target-branch BRANCH]
options:
- --title TEXT
- Pull request title
- --description TEXT
- Pull request description (body)
- --source-owner OWNER
- Owner of the source repo (default: derived from remote URL in local git repo)
- --source-repo REPO
- Name of the source repo (default: derived from remote URL in local git repo)
- --source-branch BRANCH
- Source branch (default: the current branch in local git repo)
- --target-branch BRANCH
- Target branch (default: derived from the current branch in local git repo)
git-obs pr dump¶
Dump a pull request to disk
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
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:
'{pr.base_owner}/{pr.base_repo}/{pr.number}') Available values:
- '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 get (show)¶
Get details about the specified pull requests
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: git-obs [global opts] list [-h] [--state {open,closed,all}]
[--reviewer REVIEWERS]
[--review-state {REQUEST_REVIEW,APPROVED}]
[--target-branch TARGET_BRANCHES]
[--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.
- --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
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 reopen¶
Reopen pull requests
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
git-obs [global opts] review
usage: git-obs [global opts] review [-h] {approve,decline,interactive} ...
git-obs pr review approve¶
Approve pull request reviews
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 decline¶
Decline pull request reviews (request changes)
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: 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
git-obs pr search¶
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]
options:
- --state {open,closed}
- Filter by state: open, closed (default: open)
- --title TITLE
- Filter by substring in title
- --owner OWNER
- Filter by owner of the repository associated with the pull requests
- --label LABEL
- Filter by associated labels. Non existent labels are discarded. Can be specified 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
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 patch associated to the specified pull request
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
git-obs [global opts] repo
usage: git-obs [global opts] repo [-h] {clone,fork,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
usage: git-obs [global opts] fork [-h] [--new-repo-name
NEW_REPO_NAME]
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
git-obs repo list¶
List repos
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
git-obs [global opts] ssh-key
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
git-obs [global opts] staging
usage: git-obs [global opts] staging [-h] {group,remove} ...
git-obs staging group¶
Group multiple staging project pull requests into a target staging project pull request
usage: git-obs [global opts] group [-h] [--target TARGET] [--title
TITLE]
[--fork-owner FORK_OWNER]
[--fork-branch FORK_BRANCH]
[--remove-pr-references] [--force]
[--cache-dir CACHE_DIR] [--keep-temp-dir]
pr_list [pr_list ...]
arguments:
- pr_list
- List of project pull request to be merged into the target project pull request
options:
- --target TARGET
- Target project pull request to modify. 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
- --cache-dir CACHE_DIR
- Path to a git cache.
- --keep-temp-dir
- Don't delete the temporary directory with git checkouts
git-obs staging remove¶
Remove package pull requests from a project pull request
usage: git-obs [global opts] remove [-h] [--close-removed]
[--keep-temp-dir]
target pr_list [pr_list ...]
arguments:
options:
- --close-removed
- Close pull requests after removing their references
- --keep-temp-dir
- Don't delete the temporary directory with git checkouts
AUTHOR¶
Contributors to the osc project. See the project's GIT history for the complete list.
DISTRIBUTION¶
The latest version of osc may be downloaded from https://github.com/openSUSE/osc/
| 2025-11-10 | osc |