Prior to this change, `osc co PROJECT' and `osc co PROJECT PACKAGE'
would both follow links, but `osc co PROJECT PACKAGE FILE' would not.
To make matters even more confusing, `osc ls PROJECT PACKAGE FILE'
does follow links - so, for linked files, an `ls' would tell you a file
exists, then `co' would give a 404 error.
This change fixes the inconsistency.
The pre_checkin.sh is script run after each checkin of package into
SUSE. Osc build and commit commands now runs it automatically too,
unless --no-precheckin is specified.
su-wrapper = su -c has been broken since commit 5376580. Handle this
case so that people do not have to update their configs.
Signed-off-by: Michal Marek <mmarek@suse.cz>
- rewrote Action class: instances only provide attributes for their specific type (for details see class doc).
Renamed "dst_project" attribute to "tgt_project" and "dst_package" attribute to "tgt_package" (only affects
types which have a <target /> element)
- added AbstractState class: Base class which represents state-like objects (<review />, <state />)
- rewrote ReviewState and RequestState classes
- rewrote Request class: apart from internal rewrites the format of the "__str__" and "list_view" methods
slightly changed
Now it should be much easier to create new requests without constructing the
request xml by hand.
Example:
r = Request()
r.add_action('submit', src_project='foo', src_package='bar', tgt_project='targetprj', tgt_package='targetpkg')
r.add_action('set_bugowner', tgt_project='foobar', person_name='buguser')
r.add_action('delete', tgt_project='prj', tgt_package='deleteme')
print r.to_str()
->
<request>
<action type="submit">
<source package="bar" project="foo" />
<target package="targetpkg" project="targetprj" />
</action>
<action type="set_bugowner">
<target project="foobar" />
<person name="buguser" />
</action>
<action type="delete">
<target package="deleteme" project="prj" />
</action>
</request>
This shows all the hard to retrieve, but 'essential' details about a
package: version, revision, srcmd5
If there is a better way some day, than digging through _history,
please improve core.py:get_source_rev()
It is a new option, only because it is so slow; the version
number should rather be in default output.
This shows all changes since branching, be they committed or not.
Implementation folded into do_diff() for reuse of code, although
this can behave quite differently.
- removed getStatus
- added the following new methods to the Project class:
* get_status: get the status of all packages in the project
* status: get the status of a single package
* get_pacobj: return a new Package object
- added the following new method to the Package class:
* get_status: get the status of all files in the package
- do_commit: fixed getStatus() call
- do_status: rewrite (uses new methods)