obs_clone: remove whole repositories rather than just path when fenced.
This commit is contained in:
parent
a0f3191568
commit
b51119822e
14
obs_clone.py
14
obs_clone.py
@ -92,13 +92,15 @@ def project_clone(apiurl_source, apiurl_target, project):
|
|||||||
http_PUT(url, data=ET.tostring(stripped))
|
http_PUT(url, data=ET.tostring(stripped))
|
||||||
|
|
||||||
# Clone projects referenced in repository paths.
|
# Clone projects referenced in repository paths.
|
||||||
for target in project.findall('repository/releasetarget') + project.findall('repository/path'):
|
for repository in project.findall('repository'):
|
||||||
if not project_fence(target.get('project')):
|
for target in repository.xpath('./path') + repository.xpath('./releasetarget'):
|
||||||
target.getparent().remove(target)
|
if not project_fence(target.get('project')):
|
||||||
continue
|
project.remove(repository)
|
||||||
|
break
|
||||||
|
|
||||||
path = ['source', target.get('project'), '_meta']
|
# Valid reference to project and thus should be cloned.
|
||||||
entity_clone(apiurl_source, apiurl_target, path, clone=project_clone)
|
path = ['source', target.get('project'), '_meta']
|
||||||
|
entity_clone(apiurl_source, apiurl_target, path, clone=project_clone)
|
||||||
|
|
||||||
def package_clone(apiurl_source, apiurl_target, package):
|
def package_clone(apiurl_source, apiurl_target, package):
|
||||||
# Clone project that contains the package.
|
# Clone project that contains the package.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user