[openSUSE/osc] 1aab0a: Do not supersede the same requests several times i...
Branch: refs/heads/master Home: https://github.com/openSUSE/osc Commit: 1aab0a8ed98e41a9194f33a8a571c78039553255 https://github.com/openSUSE/osc/commit/1aab0a8ed98e41a9194f33a8a571c78039553... Author: Marcus Huewe <suse-tux@gmx.de> Date: 2020-12-09 (Wed, 09 Dec 2020) Changed paths: M osc/commandline.py Log Message: ----------- Do not supersede the same requests several times in osc creq When calling "osc creq -a prj1 foo prj2 bar -a submit prj1 bar prj2 bar", the requests that could be superseded are calculated two times for the prj2/bar package. Hence, they could end up two times in the "supersede" list (see do_createrequest) In order to avoid duplicates, use a set instead of a list. Kudos to darix for pointing this out! Note: it is a bit questionable if osc's current semantics makes sense in the above example. Commit: 0926e37f1e05978d5c0caf54ea2a24af70dfe5b7 https://github.com/openSUSE/osc/commit/0926e37f1e05978d5c0caf54ea2a24af70dfe... Author: Marcus Huewe <suse-tux@gmx.de> Date: 2020-12-22 (Tue, 22 Dec 2020) Changed paths: M osc/commandline.py Log Message: ----------- Do not return Request instances in Osc._submit_request If there are existing requests that should be superseded, the old code stores the Request instances in the myreqs list, which is returned to the caller. However, the caller expects only request ids instead of instances of class Request. Eventually, this results in a type error - excerpt: ... File "/usr/lib/python3.8/site-packages/osc/commandline.py", line 1892, in do_createrequest change_request_state(apiurl, srid, 'superseded', File "/usr/lib/python3.8/site-packages/osc/core.py", line 4322, in change_request_state u = makeurl(apiurl, File "/usr/lib/python3.8/site-packages/osc/core.py", line 3326, in makeurl return urlunsplit((scheme, netloc, '/'.join([path] + list(l)), query, '')) TypeError: sequence item 2: expected str instance, Request found Hence, simply return the request ids instead of the Request instances. Note: this changes the API of the Osc._submit_request method but this is OK because it is not part of the public API. Commit: e06c6337983b7f5365c5dc6934acd5771c8b9650 https://github.com/openSUSE/osc/commit/e06c6337983b7f5365c5dc6934acd5771c8b9... Author: Marcus Huewe <suse-tux@gmx.de> Date: 2020-12-22 (Tue, 22 Dec 2020) Changed paths: M osc/commandline.py Log Message: ----------- Merge branch 'fix__submit_request_id_return' of https://github.com/marcus-h/osc Only return request ids in Osc._submit_request in order to avoid a TypeError in the caller when processing the results. Commit: 610456005025321e361d0c68ee2f87185e82be42 https://github.com/openSUSE/osc/commit/610456005025321e361d0c68ee2f87185e82b... Author: Marcus Huewe <suse-tux@gmx.de> Date: 2020-12-22 (Tue, 22 Dec 2020) Changed paths: M osc/commandline.py Log Message: ----------- Merge branch 'creq_no_supersede_dups' of https://github.com/marcus-h/osc Do not supersede the same requests several times in osc creq. Compare: https://github.com/openSUSE/osc/compare/745dc1180d3b...610456005025
participants (1)
-
Marcus Hüwe