From: Adrian Schröter
---
osc/commandline.py | 8 ++++++--
osc/core.py | 9 ++++++---
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/osc/commandline.py b/osc/commandline.py
index ab8e3ec..01d20af 100644
--- a/osc/commandline.py
+++ b/osc/commandline.py
@@ -2577,6 +2577,8 @@ Please submit there instead, or use --nodevelproject to force direct submission.
help='Use this attribute to find default maintenance project (default is OBS:MaintenanceProject)')
@cmdln.option('-m', '--message', metavar='TEXT',
help='specify message TEXT')
+ @cmdln.option('--no-cleanup', action='store_true',
+ help='do not remove source project on accept')
def do_maintenancerequest(self, subcmd, opts, *args):
"""${cmd_name}: Create a request for starting a maintenance incident.
@@ -2598,7 +2600,9 @@ Please submit there instead, or use --nodevelproject to force direct submission.
if opts.attribute:
maintenance_attribute = opts.attribute
- source_project = target_project = None
+ source_project = target_project = opt_sourceupdate = None
+ if not opts.no_cleanup:
+ opt_sourceupdate = 'cleanup'
if len(args) > 2:
raise oscerr.WrongArgs('Too many arguments.')
@@ -2625,7 +2629,7 @@ Please submit there instead, or use --nodevelproject to force direct submission.
if not opts.message:
opts.message = edit_message()
- r = create_maintenance_request(apiurl, source_project, target_project, opts.message)
+ r = create_maintenance_request(apiurl, source_project, target_project, opt_sourceupdate, opts.message)
print r.reqid
diff --git a/osc/core.py b/osc/core.py
index deae7c5..9ff1c84 100644
--- a/osc/core.py
+++ b/osc/core.py
@@ -2192,7 +2192,7 @@ class Action:
'add_role': ('tgt_project', 'tgt_package', 'person_name', 'person_role', 'group_name', 'group_role'),
'set_bugowner': ('tgt_project', 'tgt_package', 'person_name'), # obsoleted by add_role
'maintenance_release': ('src_project', 'src_package', 'src_rev', 'tgt_project', 'tgt_package', 'person_name'),
- 'maintenance_incident': ('src_project', 'tgt_project', 'person_name'),
+ 'maintenance_incident': ('src_project', 'tgt_project', 'person_name', 'opt_sourceupdate'),
'delete': ('tgt_project', 'tgt_package'),
'change_devel': ('src_project', 'src_package', 'tgt_project', 'tgt_package')}
# attribute prefix to element name map (only needed for abbreviated attributes)
@@ -2396,6 +2396,9 @@ class Request:
elif action.type == 'maintenance_incident':
d['source'] = '%s ->' % action.src_project
d['target'] = action.tgt_project
+ srcupdate = ' '
+ if action.opt_sourceupdate and show_srcupdate:
+ srcupdate = '(%s)' % action.opt_sourceupdate
elif action.type == 'maintenance_release':
d['source'] = '%s ->' % prj_pkg_join(action.src_project, action.src_package)
d['target'] = prj_pkg_join(action.tgt_project, action.tgt_package)
@@ -3411,10 +3414,10 @@ def create_release_request(apiurl, src_project, message=''):
return r
# create a maintenance incident per request
-def create_maintenance_request(apiurl, src_project, tgt_project, message=''):
+def create_maintenance_request(apiurl, src_project, tgt_project, opt_sourceupdate, message=''):
import cgi
r = Request()
- r.add_action('maintenance_incident', src_project=src_project, tgt_project=tgt_project)
+ r.add_action('maintenance_incident', src_project=src_project, tgt_project=tgt_project, opt_sourceupdate = opt_sourceupdate)
# XXX: clarify why we need the unicode(...) stuff
r.description = cgi.escape(unicode(message, 'utf8'))
r.create(apiurl)
--
1.7.7
--
To unsubscribe, e-mail: obs-commits+unsubscribe@opensuse.org
To contact the owner, e-mail: obs-commits+owner@opensuse.org