On Fri, Apr 1, 2022 at 12:52 PM Michael J Gruber <m...@fedoraproject.org> wrote:
> In particular, this would allow to avoid the many "commit missing patch", 
> "actually commit the change",
> "duh" commits which happen after a successful `fedpkg build --scratch --srpm` 
> followed by a half-(how do you say this nicely)ed commit.

It would also allow to:
1/ messing with other people repositories
2/ ability to rewrite other contributor's work - even RelEngs and
Proven Packager's

The advice - even though only partial - really is "write better code".
No one ever will write error-less code.
But there are a lot of steps you can take to reduce the amount of
errors in your code - testing of your own code and code review being
amongst the first steps before pushing anything to production.
And even when you push an error, there is no shame in correcting
yourself. (This is the second part of the advice)
It is a healthy behaviour to openly step out and correct what you
messed up, rather than trying to hide it from everyone.
Openness and trust are values this community is built upon.

We already have so many ways to reduce errors in our code.
1/ Use pull requests from your forks instead of pushes directly to
production branches
2/ You can ask people to review your code
3-A/ you can set up ZUUL CI to make a mock build for you
3-B/ or you can do mock build yourself
3-C/ or you can make a scratch build
4/ ZUUL CI can also run rpminspect and more to uncover a whole bunch
of issues you would never find yourself
5/ Learn git better to ease your work with it
e.g. never making more than a single change in a single commit
That way your commits can be perfectly revertible - which is one of
the intended ways to fix your errors

I believe you look at it from the wrong end.
Why wouldn't you try to avoid pushing the erroneous code in the first
place - e.g. by testing ?

--

Michal Schorm
Software Engineer
Core Services - Databases Team
Red Hat

--

On Fri, Apr 1, 2022 at 12:52 PM Michael J Gruber <m...@fedoraproject.org> wrote:
>
> Hi there
>
> I know why we do not allow to force push to dist-git in the rpms namespace, 
> but I am wondering whether we can implement this more in line with the reason:
>
> dist-git has to be a permanent record for the "source" (spec etc.) against 
> which a package is built, but currently we deny pushing even when there is no 
> build against the rewritten commits. Instead, I suggest the following 
> behaviour for the update-hook of git-receive-pack:
>
> - check which commit contained in "old object name" is the most recent one 
> (topology order) which has been built (successfully) - call it "old build 
> object name"
> - check whether the "new object name" is descendant of (contains) "old build 
> object name" (rather than "old object name", which would forbid any force 
> push)
>
> This would allow to rewrite a branch as long as the last commit hasn't been 
> built yet (but allow only rewrites to commits since the last build). In 
> particular, this would allow to avoid the many "commit missing patch", 
> "actually commit the change", "duh" commits which happen after a successful 
> `fedpkg build --scratch --srpm` followed by a half-(how do you say this 
> nicely)ed commit.
> _______________________________________________
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> Fedora Code of Conduct: 
> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: 
> https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
> Do not reply to spam on the list, report it: 
> https://pagure.io/fedora-infrastructure
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to