Makes sense, I didn't think about automatic synchronization. I agree
that we should not force push to master (we have discussed renaming to
"main"), so using revert commits when there is a mistake sounds fine,
too.

On Sat, Jul 24, 2021 at 12:09 PM Jarek Potiuk <ja...@potiuk.com> wrote:
>
> Also one comment for force-pushes to the main branch - I did it twice
> before (before we enabled protection) and It turned out that it broke some
> of our users whole setup automated synchronization of 'airflow' repo (they
> added automated patching of they patches on top of our repo and
> force-pushed changed broke their script. So we decided to enable branch
> protection and NEVER force-push the mai branch.
>
> On Sat, Jul 24, 2021 at 7:05 PM Jarek Potiuk <ja...@potiuk.com> wrote:
>
> > Hey Wes, others.
> >
> > It also protects you if you merge/push with git commands.
> >
> > I stopped worrying and double-checking if I have the "right" remote when I
> > push directly to master when we enabled the protection because I simply
> > can't push directly to master of "apache/airflow" any more (unless I am
> > pushing the tip of a branch from PR that is already approved).
> >
> > GitHub has a surprisingly good level of integration of regular git
> > commands with Git UI ones and the protection works in both cases. As long
> > as you use PRs from GitHub, this protection also protects you from any git
> > commands that directly manipulate your protected branch (unless the
> > "manipulation" comes from an approved PR).
> > In the past we had similar cases, and we also had a few different patterns
> > of merges  (some with Git commands, some with UI ones). For example not
> > everyone knows that if you have a PR opened in your repository (not from
> > fork) and go with squash&merge, as long as this PR is approved you can
> > still fast-forward your main branch to the tip of the branch from the PR
> > and avoid squashing (but if your main branch is protected, such
> > fast-forward will fail with the message that you need to have approval).
> >
> > Actually I think GitHub went above and beyond with this feature - the
> > rules they have are pretty sophisticated and take into account many
> > scenarios:
> > https://docs.github.com/en/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-rules
> >
> > J.
> >
> > On Sat, Jul 24, 2021 at 6:32 PM Wes McKinney <wesmck...@gmail.com> wrote:
> >
> >> hi Jarek,
> >>
> >> We don't merge with the GitHub UI, so I am not sure if that will help us.
> >>
> >> Weston, in the future if you make a mistake like this and notice right
> >> away, IMHO it's acceptable to force-push master reverting the mistake.
> >>    If some time has lapsed then reverting is better.
> >>
> >> I have had my git checkouts all set up so that pushing to apache/arrow
> >> can't happen unless I explicitly use the apache branch target
> >>
> >> git push apache $BRANCH
> >>
> >> Everyone should ensure that the "origin" branch points to your fork
> >> rather than apache/arrow.
> >>
> >> - Wes
> >>
> >> On Sat, Jul 24, 2021 at 2:32 AM Jarek Potiuk <ja...@potiuk.com> wrote:
> >> >
> >> > FYI.  You can protect branches with .asf.yaml against those kind of
> >> > incidents:
> >> >
> >> https://github.com/apache/airflow/blob/8e94c1c64902b97be146cdcfe8b721fced0a283b/.asf.yaml#L43
> >> >
> >> > On Sat, Jul 24, 2021 at 7:04 AM Weston Pace <weston.p...@gmail.com>
> >> wrote:
> >> >
> >> > > Thanks.  I went ahead and did that.
> >> > >
> >> > > On Fri, Jul 23, 2021 at 6:53 PM Mauricio Vargas
> >> > > <mavarga...@uc.cl.invalid> wrote:
> >> > > >
> >> > > > I think that a 2nd commit + push with the reverse shall be the best
> >> fix
> >> > > >
> >> > > > On Sat, Jul 24, 2021 at 12:41 AM Weston Pace <weston.p...@gmail.com
> >> >
> >> > > wrote:
> >> > > >
> >> > > > > Well it did not take long for me to make a mistake.  I
> >> accidentally
> >> > > > > pushed a commit to master instead of my remote when creating a PR.
> >> > > > > What is the best way to remedy this?  Push a revert? Since it is
> >> > > > > protected I cannot force push to reset back to where it was (not
> >> that
> >> > > > > I would necessarily want to do that).
> >> > > > >
> >> > > > > I have updated my master and removed the upstream (that probably
> >> > > > > should never have been there) so hopefully this won't happen
> >> again.
> >> > > > >
> >> > > > > -Weston
> >> > > > >
> >> > > >
> >> > > >
> >> > > > --
> >> > > > —
> >> > > > *Mauricio 'Pachá' Vargas Sepúlveda*
> >> > > > Site: pacha.dev
> >> > > > Blog: pacha.dev/blog
> >> > >
> >> >
> >> >
> >> > --
> >> > +48 660 796 129
> >>
> >
> >
> > --
> > +48 660 796 129
> >
>
>
> --
> +48 660 796 129

Reply via email to