osc
cheatsheet for OBS
Open Build Service, OBS for short, uses osc
as its CLI interface. osc
is an SVN-like version control system with a good overview and a starter configuration guide on the openSUSE wiki.
On macOS you can install it via Homebrew.
$ brew install osc
To create a branch of a package, similar to a feature branch in Git:
$ osc branch <source project> <package>
Check out your local branch:
$ osc co <branched project>
To pull changes from the remote, aka update local to the remote state:
$ osc up
Modified files are tracked automatically. To add new files and remove existing files:
$ osc add <file>
$ osc rm <file>
List changes:
$ osc st
$ osc diff
If you have a build pipeline set up, build your changes locally:
$ osc build
If you have vc
, you can conveniently edit the changelog. Otherwise edit the .changes
file manually (and carefully).
$ osc vc
osc
has no staging, when you commit, changes are pushed to the remote. To commit:
$ osc ci
To submit a change request, akin to a PR, while keeping your branch:
$ osc sr --no-cleanup
To submit a change request from one build system to another:
$ osc -a <target build system> sr --no-cleanup <source build system>:<source project branch> <package> <target project>
To submit a request to delete a project completely:
$ osc deleterequest <project> <package>