1 osc -- opensuse-commander with svn like handling
4 Please send patches to poeml@suse.de, or work directly on
5 https://forgesvn1.novell.com/svn/opensuse/trunk/buildservice/src/clientlib/python/osc/
10 RPM packages are here (yum repository):
11 http://software.opensuse.org/download/openSUSE:/Tools/
13 To install from svn, do
15 python setup.py install
16 # create a symlink 'osc' in your path pointing to osc.py.
17 ln -s osc-wrapper.py /usr/bin/osc
19 Alternatively, you can directly use osc-wrapper.py from the source dir
20 (which is easier if you develop on osc).
23 The program needs the cElementTree python module installed. On SUSE, the
24 respective package is called python-elementtree.
30 When you use it for the first time, it will ask you for your username and
31 password, and store it in ~/.oscrc.
33 If authentication data is found in .netrc, it will also be used.
38 (online at http://en.opensuse.org/Build_Service/CLI )
40 To list existing content on the server
41 osc ls # list projects
42 osc ls Apache # list packages in a project
43 osc ls Apache subversion # list files of package of a project
46 osc co Apache # entire project
47 osc co Apache subversion # a package
48 osc co Apache subversion foo # single file
52 osc up [pac_dir] # update a single package by its path
53 osc up * # from within a project dir, update all packages
54 osc up # from within a project dir, update all packages
55 AND check out all newly added packages
57 If an update can't be merged automatically, a file is in 'C' (conflict)
58 state, and conflicts are marked with special <<<<<<< and >>>>>>> lines.
59 After manually resolving the problem, use
65 osc ci file1 file2 ...
67 Show the status (which files have been changed locally)
70 osc st file1 file2 ...
72 Mark files to be added or removed on the next 'checkin'
73 osc add file1 file2 ...
74 osc rm file1 file2 ...
76 Adds all new files in local copy and removes all disappeared files.
79 Generates a diff, to view the changes
80 osc diff # current dir
81 osc diff file1 file2 ...
83 Shows the build results of the package
85 osc results [platform]
87 Shows the log file of a package (you need to be inside a package directory)
88 osc log <platform> <arch>
90 Shows the URLs of .repo files which are packages sources for Yum/YaST/smart
93 Triggers a package rebuild for all repositories/architectures of a package
96 Shows available platforms/build targets
99 Shows the configured platforms/build targets of a project
100 osc platforms <project>
102 Shows meta information
104 osc meta Apache subversion
107 Edit meta information
108 (Creates new package/project if it doesn't exist)
110 osc editmeta Apache subversion
112 Update package meta data with metadata taken from spec file
113 osc updatepacmetafromspec <dir>
116 There are other commands, which you may not need (they may be useful in scripts):
125 Putting the following in the file ~/.w3m/passwd will make
126 w3m know the credentials for the buildservice servers:
129 host api.opensuse.org
131 realm Authentication required
135 host build.opensuse.org
137 realm openSUSE Build Service
142 chmod 0600 ~/.w3m/passwd