Pierre-Yves Chibon wrote:
On Thu, Sep 26, 2019 at 03:01:25PM +0200, Remi Collet wrote:
> Le 26/09/2019 à 11:36, Pierre-Yves Chibon a écrit :
> > Here is what the vision we came to and that we would like to discuss:
> >
> > ○ Every changes to dist-git is done via pull-requests
>
> IMHO Have to stay optional, making this mandatory being a terrible
> headache.
What makes it a headache?
The fact that this forces a specific workflow on everyone and makes it
impossible to use different workflows. In particular, it breaks:
* using the git cli directly, without fedpkg (or some dedicated Pagure CLI),
* using a Git GUI frontend such as git-cola (as I do),
* doing more complex Git operations such as merges, fast forwards, cherry
picks, etc. (I would actually argue for MORE flexibility, such as allowing
force pushes, not less as in your proposal.)
and probably more things.
What can we do to not have this be a terrible headache?
Nothing. This is a headache by design.
Can we fix/improve the tooling?
No. No amount of tooling can make a forced pull-request workflow workable.
You need a different CI approach. Maybe:
* a push hook that just locks the repository and does the tests before
validating the push, though I can see that becoming a PITA as well, or
* an asynchronous CI push hook that just notifies the maintainer on
failures, but does not otherwise touch the repository, or
* an asynchronous CI push hook that automatically reverts commits that fail
the CI tests, or even
* an asynchronous CI push hook that automatically uses a force push to
revert the commits that fail the CI tests in such a way that they vanish
from history entirely, as if they had never happened,
or something more clever that we have not thought of yet.
Kevin Kofler