mirror of
https://github.com/openSUSE/osc.git
synced 2024-11-10 06:46:15 +01:00
The Command Line Interface to work with an Open Build Service
osc | ||
NEWS | ||
osc_hotshot.py | ||
osc-wrapper.py | ||
README | ||
setup.py | ||
TODO |
osc -- opensuse-commander with svn like handling Please send patches to poeml@suse.de, or work directly on https://forgesvn1.novell.com/svn/opensuse/trunk/buildservice/src/clientlib/python/osc/ INSTALLATION: RPM packages are here (yum repository): http://software.opensuse.org/download/repositories/openSUSE:Tools/ To install from svn, do python setup.py build python setup.py install # create a symlink 'osc' in your path pointing to osc.py. ln -s osc-wrapper.py /usr/bin/osc Alternatively, you can directly use osc-wrapper.py from the source dir The program needs the following python packages installed (that's their names on SUSE anyway): pyxml python-elementtree CONFIGURATION: When you use it for the first time, it will ask you for your username and password, and store it in ~/.oscrc. If authentication data is found in .netrc, it will also be used. USAGE EXAMPLES: To list existing content on the server osc ls # list projects osc ls Apache # list packages in a project osc ls Apache subversion # list files of package of a project Check out content osc co Apache # entire project osc co Apache subversion # a package osc co Apache subversion foo # single file Update a working copy osc up osc up [pac_dir] # update a single package by its path osc up * # from within a project dir, update all packages osc up # from within a project dir, update all packages AND check out all newly added packages If an update can't be merged automatically, a file is in 'C' (conflict) state, and conflicts are marked with special <<<<<<< and >>>>>>> lines. After manually resolving the problem, use osc resolved foo Upload change content osc ci # current dir osc ci <dir> osc ci file1 file2 ... Show the status (which files have been changed locally) osc st osc st <directory> osc st file1 file2 ... Initialize a directory to be a working copy of an existing buildservice package. (This is the same as checking out a package and then copying sources into the directory. It does NOT create a new package.) osc init <prj> <pac> # DEPRACATED Mark files to be added or removed on the next 'checkin' osc add file1 file2 ... osc rm file1 file2 ... Adds all new files in local copy and removes all disappeared files. osc addremove Generates a diff, to view the changes osc diff # current dir osc diff file1 file2 ... Shows the build results of the package osc results osc results [platform] Shows the log file from a package (you need to be inside a package directory) osc log <platform> <arch> Shows available platforms/build targets osc platforms Shows the configured platforms/build targets of a project osc platforms <project> Shows meta information osc meta Apache osc meta Apache subversion osc id username HINT FOR W3M USERS Putting the following in the file ~/.w3m/passwd will make w3m know the credentials for the buildservice servers: """ host api.opensuse.org port 80 realm Authentication required login foo password bar host build.opensuse.org port 80 realm openSUSE Build Service login foo password bar """ chmod 0600 ~/.w3m/passwd