- add 'help' subcommand (and add help :-)
[opensuse:osc.git] / README
1 osc -- opensuse-commander with svn like handling
2
3
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/
6
7
8 INSTALLATION:
9
10 RPM packages are here (yum repository):
11 http://software.opensuse.org/download/repositories/openSUSE:Tools/
12
13 To install from svn, do
14         python setup.py build
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
18
19 Alternatively, you can directly use osc-wrapper.py from the source dir
20
21
22 The program needs the following python packages installed (that's their names
23 on SUSE anyway): 
24         pyxml 
25         python-elementtree
26
27
28
29
30 CONFIGURATION:
31
32 When you use it for the first time, it will ask you for your username and
33 password, and store it in ~/.oscrc.
34
35 If authentication data is found in .netrc, it will also be used.
36
37
38
39 USAGE EXAMPLES:
40
41 To list existing content on the server
42  osc ls                                 # list projects
43  osc ls Apache                  # list packages in a project 
44  osc ls Apache subversion       # list files of package of a project
45
46 Check out content
47  osc co Apache                  # entire project
48  osc co Apache subversion       # a package
49  osc co Apache subversion foo   # single file
50
51 Update a working copy
52  osc up
53  osc up [pac_dir]               # update a single package by its path
54  osc up *                       # from within a project dir, update all packages
55  osc up                         # from within a project dir, update all packages
56                                    AND check out all newly added packages
57
58 If an update can't be merged automatically, a file is in 'C' (conflict)
59 state, and conflicts are marked with special <<<<<<< and >>>>>>> lines. 
60 After manually resolving the problem, use
61  osc resolved foo
62
63 Upload change content
64  osc ci                         # current dir
65  osc ci <dir>
66  osc ci file1 file2 ...
67
68 Show the status (which files have been changed locally)
69  osc st
70  osc st <directory>
71  osc st file1 file2 ...
72
73 Initialize a directory to be a working copy of an existing buildservice
74 package. (This is the same as checking out a package and then copying sources
75 into the directory. It does NOT create a new package.)
76  osc init <prj> <pac>           # DEPRACATED
77
78 Mark files to be added or removed on the next 'checkin'
79  osc add file1 file2 ...
80  osc rm file1 file2 ...
81
82 Adds all new files in local copy and removes all disappeared files.
83  osc addremove
84
85 Generates a diff, to view the changes
86  osc diff                       # current dir
87  osc diff file1 file2 ...
88
89 Shows the build results of the package
90  osc results
91  osc results [platform]
92
93 Shows the log file from a package (you need to be inside a package directory)
94  osc log <platform> <arch>
95
96 Shows available platforms/build targets
97  osc platforms
98
99 Shows the configured platforms/build targets of a project
100  osc platforms <project>
101
102 Shows meta information
103  osc meta Apache
104  osc meta Apache subversion
105  osc id username
106
107
108
109
110 HINT FOR W3M USERS
111
112 Putting the following in the file ~/.w3m/passwd will make
113 w3m know the credentials for the buildservice servers:
114
115 """
116 host api.opensuse.org
117   port 80
118   realm Authentication required
119   login foo
120   password bar
121
122 host build.opensuse.org
123   port 80
124   realm openSUSE Build Service
125   login foo
126   password bar
127 """
128
129 chmod 0600 ~/.w3m/passwd