- bump version (0.7)
[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/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 (which is easier if you develop on osc).
21
22
23 The program needs the cElementTree python module installed. On SUSE, the
24 respective package is called python-elementtree.
25
26
27
28 CONFIGURATION:
29
30 When you use it for the first time, it will ask you for your username and
31 password, and store it in ~/.oscrc.
32
33 If authentication data is found in .netrc, it will also be used.
34
35
36
37 USAGE EXAMPLES:
38 (online at http://en.opensuse.org/Build_Service/CLI )
39
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
44
45 Check out content
46  osc co Apache                  # entire project
47  osc co Apache subversion       # a package
48  osc co Apache subversion foo   # single file
49
50 Update a working copy
51  osc up
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
56
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
60  osc resolved foo
61
62 Upload change content
63  osc ci                         # current dir
64  osc ci <dir>
65  osc ci file1 file2 ...
66
67 Show the status (which files have been changed locally)
68  osc st
69  osc st <directory>
70  osc st file1 file2 ...
71
72 Mark files to be added or removed on the next 'checkin'
73  osc add file1 file2 ...
74  osc rm file1 file2 ...
75
76 Adds all new files in local copy and removes all disappeared files.
77  osc addremove
78
79 Generates a diff, to view the changes
80  osc diff                       # current dir
81  osc diff file1 file2 ...
82
83 Shows the build results of the package
84  osc results
85  osc results [platform]
86
87 Shows the log file of a package (you need to be inside a package directory)
88  osc log <platform> <arch>
89
90 Shows the URLs of .repo files which are packages sources for Yum/YaST/smart
91  osc repourls [dir]
92
93 Triggers a package rebuild for all repositories/architectures of a package
94  osc rebuildpac [dir]
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 Edit meta information
108 (Creates new package/project if it doesn't exist)
109  osc editmeta Apache
110  osc editmeta Apache subversion
111
112 Update package meta data with metadata taken from spec file
113  osc updatepacmetafromspec <dir>
114
115
116 There are other commands, which you may not need (they may be useful in scripts):
117  osc repos
118  osc buildconfig
119  osc buildinfo
120
121
122
123 HINT FOR W3M USERS
124
125 Putting the following in the file ~/.w3m/passwd will make
126 w3m know the credentials for the buildservice servers:
127
128 """
129 host api.opensuse.org
130   port 80
131   realm Authentication required
132   login foo
133   password bar
134
135 host build.opensuse.org
136   port 80
137   realm openSUSE Build Service
138   login foo
139   password bar
140 """
141
142 chmod 0600 ~/.w3m/passwd