From 0384db5e2e1b29b82d26f48ab7cfaa422ad09cc6 Mon Sep 17 00:00:00 2001 From: Daniel Mach Date: Mon, 19 Dec 2022 14:04:01 +0100 Subject: [PATCH] setlinkrev: Write a log message on setting a revision --- osc/core.py | 9 ++++++++- tests/test_setlinkrev.py | 18 +++++++++--------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/osc/core.py b/osc/core.py index 56775ddd..feef1515 100644 --- a/osc/core.py +++ b/osc/core.py @@ -7383,7 +7383,7 @@ def owner( return res -def set_link_rev(apiurl: str, project: str, package: str, revision="", expand=False): +def set_link_rev(apiurl: str, project: str, package: str, revision="", expand=False, msg: str=None): url = makeurl(apiurl, ["source", project, package, "_link"]) try: f = http_GET(url) @@ -7393,6 +7393,13 @@ def set_link_rev(apiurl: str, project: str, package: str, revision="", expand=Fa raise revision = _set_link_rev(apiurl, project, package, root, revision, expand=expand) l = ET.tostring(root, encoding=ET_ENCODING) + + if not msg: + if revision: + msg = f"Set link revision to {revision}" + else: + msg = "Unset link revision" + url = makeurl(apiurl, ["source", project, package, "_link"], {"comment": msg}) http_PUT(url, data=l) return revision diff --git a/tests/test_setlinkrev.py b/tests/test_setlinkrev.py index fb040ac8..883dd672 100644 --- a/tests/test_setlinkrev.py +++ b/tests/test_setlinkrev.py @@ -23,14 +23,14 @@ class TestSetLinkRev(OscTestCase): @GET('http://localhost/source/osctest/simple/_link', file='simple_link') @GET('http://localhost/source/srcprj/srcpkg?rev=latest', file='simple_filesremote') - @PUT('http://localhost/source/osctest/simple/_link', + @PUT('http://localhost/source/osctest/simple/_link?comment=Set+link+revision+to+42', exp='', text='dummytext') def test_simple1(self): """a simple set_link_rev call without revision""" osc.core.set_link_rev('http://localhost', 'osctest', 'simple') @GET('http://localhost/source/osctest/simple/_link', file='simple_link') - @PUT('http://localhost/source/osctest/simple/_link', + @PUT('http://localhost/source/osctest/simple/_link?comment=Set+link+revision+to+42', exp='', text='dummytext') def test_simple2(self): """a simple set_link_rev call with revision""" @@ -38,7 +38,7 @@ class TestSetLinkRev(OscTestCase): @GET('http://localhost/source/osctest/simple/_link', file='noproject_link') @GET('http://localhost/source/osctest/srcpkg?rev=latest&expand=1', file='expandedsrc_filesremote') - @PUT('http://localhost/source/osctest/simple/_link', + @PUT('http://localhost/source/osctest/simple/_link?comment=Set+link+revision+to+eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee', exp='', text='dummytext') def test_expandedsrc(self): """expand src package""" @@ -46,7 +46,7 @@ class TestSetLinkRev(OscTestCase): @GET('http://localhost/source/osctest/simple/_link', file='link_with_rev') @GET('http://localhost/source/srcprj/srcpkg?rev=latest', file='simple_filesremote') - @PUT('http://localhost/source/osctest/simple/_link', + @PUT('http://localhost/source/osctest/simple/_link?comment=Set+link+revision+to+42', exp='', text='dummytext') def test_existingrev(self): """link already has a rev attribute, update it to current version""" @@ -55,7 +55,7 @@ class TestSetLinkRev(OscTestCase): @GET('http://localhost/source/osctest/simple/_link', file='link_with_rev') @GET('http://localhost/source/srcprj/srcpkg?rev=latest&expand=1', file='expandedsrc_filesremote') - @PUT('http://localhost/source/osctest/simple/_link', + @PUT('http://localhost/source/osctest/simple/_link?comment=Set+link+revision+to+eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee', exp='', text='dummytext') def test_expandexistingrev(self): @@ -71,21 +71,21 @@ class TestSetLinkRev(OscTestCase): self.assertRaises(HTTPError, osc.core.set_link_rev, 'http://localhost', 'osctest', 'simple', expand=True) @GET('http://localhost/source/osctest/simple/_link', file='rev_link') - @PUT('http://localhost/source/osctest/simple/_link', + @PUT('http://localhost/source/osctest/simple/_link?comment=Unset+link+revision', exp='', text='dummytext') def test_deleterev(self): """delete rev attribute from link xml""" osc.core.set_link_rev('http://localhost', 'osctest', 'simple', revision=None) @GET('http://localhost/source/osctest/simple/_link', file='md5_rev_link') - @PUT('http://localhost/source/osctest/simple/_link', + @PUT('http://localhost/source/osctest/simple/_link?comment=Unset+link+revision', exp='', text='dummytext') - def test_deleterev(self): + def test_deleterev_md5(self): """delete rev and vrev attribute from link xml""" osc.core.set_link_rev('http://localhost', 'osctest', 'simple', revision=None) @GET('http://localhost/source/osctest/simple/_link', file='simple_link') - @PUT('http://localhost/source/osctest/simple/_link', + @PUT('http://localhost/source/osctest/simple/_link?comment=Unset+link+revision', exp='', text='dummytext') def test_deleterevnonexistent(self): """delete non existent rev attribute from link xml"""