mirror of
https://github.com/openSUSE/osc.git
synced 2024-12-26 01:46:13 +01:00
129 lines
3.0 KiB
Plaintext
129 lines
3.0 KiB
Plaintext
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 ...
|
|
|
|
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
|
|
|
|
Edit meta information
|
|
(Creates new package/project if it doesn't exist)
|
|
osc editmeta Apache
|
|
osc editmeta Apache subversion
|
|
|
|
|
|
|
|
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
|