1
0
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
Go to file
Dr. Peter Poeml 3a1f5abebc update README
2006-05-23 09:30:30 +00:00
osc - if an old _files listing without any metadata is found, don't bother the user 2006-05-23 08:43:04 +00:00
NEWS - add diff3 merge support. Locally modified files are merged with upstream changes 2006-05-22 14:12:06 +00:00
osc_hotshot.py add osc_hotshot.py, a wrapper script for profiling osc.py 2006-04-27 13:59:34 +00:00
osc-wrapper.py 0.3 2006-05-19 20:13:29 +00:00
README update README 2006-05-23 09:30:30 +00:00
setup.py increase version in setup.py as well 2006-05-22 14:15:17 +00:00
TODO - add diff3 merge support. Locally modified files are merged with upstream changes 2006-05-22 14:12:06 +00:00

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, this does only work within package directories, but not in project directories currently.
 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>

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