mirror of
https://github.com/openSUSE/osc.git
synced 2025-08-11 17:54:06 +02:00
allow implicit branch on maintenance request creation
via --enforce-branching option This may be default by server side settings
This commit is contained in:
3
NEWS
3
NEWS
@@ -1,4 +1,5 @@
|
|||||||
0.165.3
|
0.166.0
|
||||||
|
- allow optional fork when creating a maintenance request
|
||||||
-
|
-
|
||||||
|
|
||||||
0.165.2
|
0.165.2
|
||||||
|
@@ -3182,6 +3182,8 @@ Please submit there instead, or use --nodevelproject to force direct submission.
|
|||||||
help='specify message TEXT')
|
help='specify message TEXT')
|
||||||
@cmdln.option('--release-project', metavar='RELEASEPROJECT',
|
@cmdln.option('--release-project', metavar='RELEASEPROJECT',
|
||||||
help='Specify the release project')
|
help='Specify the release project')
|
||||||
|
@cmdln.option('--enforce-branching', action='store_true',
|
||||||
|
help='submit from a fresh branched project')
|
||||||
@cmdln.option('--no-cleanup', action='store_true',
|
@cmdln.option('--no-cleanup', action='store_true',
|
||||||
help='do not remove source project on accept')
|
help='do not remove source project on accept')
|
||||||
@cmdln.option('--cleanup', action='store_true',
|
@cmdln.option('--cleanup', action='store_true',
|
||||||
@@ -3283,7 +3285,7 @@ Please submit there instead, or use --nodevelproject to force direct submission.
|
|||||||
target_project,
|
target_project,
|
||||||
None) # unspecified release project
|
None) # unspecified release project
|
||||||
|
|
||||||
r = create_maintenance_request(apiurl, source_project, source_packages, target_project, release_project, opt_sourceupdate, opts.message)
|
r = create_maintenance_request(apiurl, source_project, source_packages, target_project, release_project, opt_sourceupdate, opts.message, opts.enforce_branching)
|
||||||
print(r.reqid)
|
print(r.reqid)
|
||||||
|
|
||||||
if supersede_existing:
|
if supersede_existing:
|
||||||
|
@@ -3045,11 +3045,13 @@ class Request:
|
|||||||
def __cmp__(self, other):
|
def __cmp__(self, other):
|
||||||
return cmp(int(self.reqid), int(other.reqid))
|
return cmp(int(self.reqid), int(other.reqid))
|
||||||
|
|
||||||
def create(self, apiurl, addrevision=False):
|
def create(self, apiurl, addrevision=False, enforce_branching=False):
|
||||||
"""create a new request"""
|
"""create a new request"""
|
||||||
query = {'cmd' : 'create' }
|
query = {'cmd' : 'create' }
|
||||||
if addrevision:
|
if addrevision:
|
||||||
query['addrevision'] = "1"
|
query['addrevision'] = "1"
|
||||||
|
if enforce_branching:
|
||||||
|
query['enforce_branching'] = "1"
|
||||||
u = makeurl(apiurl, ['request'], query=query)
|
u = makeurl(apiurl, ['request'], query=query)
|
||||||
f = http_POST(u, data=self.to_str())
|
f = http_POST(u, data=self.to_str())
|
||||||
root = ET.fromstring(f.read())
|
root = ET.fromstring(f.read())
|
||||||
@@ -4175,7 +4177,7 @@ def create_release_request(apiurl, src_project, message=''):
|
|||||||
return r
|
return r
|
||||||
|
|
||||||
# create a maintenance incident per request
|
# create a maintenance incident per request
|
||||||
def create_maintenance_request(apiurl, src_project, src_packages, tgt_project, tgt_releaseproject, opt_sourceupdate, message=''):
|
def create_maintenance_request(apiurl, src_project, src_packages, tgt_project, tgt_releaseproject, opt_sourceupdate, message='', enforce_branching=False):
|
||||||
import cgi
|
import cgi
|
||||||
r = Request()
|
r = Request()
|
||||||
if src_packages:
|
if src_packages:
|
||||||
@@ -4185,7 +4187,7 @@ def create_maintenance_request(apiurl, src_project, src_packages, tgt_project, t
|
|||||||
r.add_action('maintenance_incident', src_project=src_project, tgt_project=tgt_project, tgt_releaseproject=tgt_releaseproject, opt_sourceupdate = opt_sourceupdate)
|
r.add_action('maintenance_incident', src_project=src_project, tgt_project=tgt_project, tgt_releaseproject=tgt_releaseproject, opt_sourceupdate = opt_sourceupdate)
|
||||||
# XXX: clarify why we need the unicode(...) stuff
|
# XXX: clarify why we need the unicode(...) stuff
|
||||||
r.description = cgi.escape(unicode(message, 'utf8'))
|
r.description = cgi.escape(unicode(message, 'utf8'))
|
||||||
r.create(apiurl, addrevision=True)
|
r.create(apiurl, addrevision=True, enforce_branching=enforce_branching)
|
||||||
return r
|
return r
|
||||||
|
|
||||||
def create_submit_request(apiurl,
|
def create_submit_request(apiurl,
|
||||||
|
Reference in New Issue
Block a user