Was bored while waiting for a test run to finish. The rule is
that two empty lines distinguish larger blocks and shouldn't be
used between functions or within functions.
Ignore is used to wait for a change to occur while patchinfo should never
affect the result. Since all actions must be accepted for the request to
be accepted setting patchinfo to accept is the correct way to ignore it.
Action of patchinfo does not have a releaseproject attribute, with bad
luck it might be lists as the first action of an maintenance incident,
we should skip it and try next action.
Distinct copyrights were left as I do not wish to track down commit
history to ensure it properly documents the copyright holders. Also left
non-GPLv2 licenses and left bs_copy untouched as a mirror from OBS.
Already have a mix of with and without headers and even OBS does not place
on majority of files. If SUSE lawyers have an issue it will come up in
legal review for Factory.
Also update calls based on default behavior change. As described in the
comment above add_review() there seems to be no reason to ever add a
duplicate review.
The check in leaper would skip unless state == declined. In such a case
the review would automatically be reopened along with the request so that
logic is unnecessary.
This ensures that calling bots crash rather than continue which can cause
non-atomic state changes that miss reviews when OBS crashes or is
unavailable.
Allows the code to be properly shared between checkrepo and
check_maintenance_incidents as a todo suggests. Given that the majority of
similar cases for code sharing are extension of osc.core it seems to make
sense to place them in osclib.core.
Avoid adding e.g. openSUSE:13.2 as reviewer. OBS sometimes returns
projects of released openSUSE distributions as maintainer for packages
that were dropped from Factory.
factory-source checks if submissions contain sources already accepted in
Factory. maintbot makes sure maintenance submissions are authored by the
Factory package maintainer.
Both are based on a new generic ReviewBot.py class that can serve as
common framework for review bots.