mirror of
https://github.com/openSUSE/osc.git
synced 2025-02-03 18:16:17 +01:00
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)
121 lines
2.4 KiB
Plaintext
121 lines
2.4 KiB
Plaintext
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
|