mirror of
https://github.com/openSUSE/osc.git
synced 2025-02-04 10:36:17 +01:00
The Command Line Interface to work with an Open Build Service
4b83218cf6
status: - use new file metadata which provides checksum, size and mtime - don't list unmodified files - fix some conditions where status was too stupid so far update: - much faster now, since only new or changed files are downloaded - print revision number checkout: - mark project directory as such (to be used later) diff: - faster, since 'status' is faster - work against local copy checkin: - update package metadata from specfile - fix argument handling add: - ignore .osc and other files other changes: - sanitize argument handling, so most commands can work with arbitrary files/directories as arguments (work is always done per package) - add history command (doesn't seem to be working yet) - on first usage, ask for username password on first usage, and store them in .oscrc (.netrc can still be used) |
||
---|---|---|
osc | ||
osc_hotshot.py | ||
osc-wrapper.py | ||
README | ||
setup.py | ||
TODO |
osc -- opensuse-commander with svn like handling >>> BUG: at the moment, 'up' overwrites files with local modifications. 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://repos.opensuse.org/opensuse/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: osc uses authentication data if it finds it in .netrc, otherwise it will ask for username/password once, and store it in ~/.oscrc. USAGE EXAMPLES: 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 osc co Apache # entire project osc co Apache subversion # a package osc co Apache subversion foo # single file # update working copy osc up osc up <directory> osc up * # from within a project dir, update all packages # check in osc ci # current dir osc ci <dir> osc ci file1 file2 ... # show status osc st osc st <directory> osc st file1 file2 ... # initialize a source directory to be a # working copy of project <prj> package <pac> osc init <prj> <pac> # schedule files foo to be added / deleted osc add file1 file2 ... osc rm file1 file2 ... # add all unknown files AND remove all missing files osc addremove # show diff osc diff # current dir osc diff file1 file2 ... # show build results (xml) osc results osc results [platform] # show logfile (must be run from workingdir) osc log <platform> <arch> # show platforms osc platforms # show platforms used by project Apache osc platforms Apache # show various xml meta 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