On Mon, Aug 12, 2019 at 10:37 PM Albert Vaca Cintora <albertv...@gmail.com> wrote: > > Could we use sysadmin/repo-metadata to know which branch is stable and > therefore should be protected and trigger the hooks for closing bugs, etc?
Unfortunately that only tells us what the current stable branch is - it doesn't let us know what the other (either historical or up and coming) stable branches are called. Cheers, Ben > > On Mon, Aug 12, 2019, 17:39 Ben Cooksley <bcooks...@kde.org> wrote: >> >> On Mon, Aug 12, 2019 at 6:24 PM Kevin Ottens <er...@kde.org> wrote: >> > >> > Hello, >> >> Hi Kevin, >> >> > >> > On Sunday, 11 August 2019 22:14:19 CEST Albert Astals Cid wrote: >> > > With phabricator you can do a "force push" to your review[1], with gitlab >> > > you can not[2]. >> > > [...] >> > > [2] without having your own fork of a repository, that is annoying for >> > > various reasons >> > >> > I'm genuinely surprised about that claim. Are we sure that it's not a >> > setting >> > on our instance forcing this? I'm currently working on a project where you >> > can >> > force push in non-protected branches without your own fork. >> >> Our hooks prevent force pushes from taking place within our mainline >> repositories. >> >> This is done for a couple of reasons. >> >> The first, that in order for us to reliably operate things like >> closing of bugs on Bugzilla and sending emails and IRC Notifications, >> it is necessary for the hooks to be able to detect when a commit is >> "new" and therefore needs to be processed for this sort of action. >> Unfortunately due to how Git works, there is no difference between a >> genuinely new commit, and one that has simply been rebased - they're >> both "new" as far as the hooks are concerned. This means we cannot >> allow rebasing within any branch which is subject to notification or >> other hook processing. >> >> The second, is that recovering your work when someone has >> rebased/force pushed the branch underneath you, is something which is >> non-trivial unless you are familiar with the process. Even for those >> who are experienced, it is possible to make mistakes in the process of >> doing so, and either lose commits or mangle the metadata associated >> with the commit (such as the authorship information - an incident >> which happened earlier this year). At the time KDE migrated to Git it >> was decided on a community wide basis that familiarity with this isn't >> something we should expect casual contributors to have. >> >> Those familiar to Git will be aware that it is very much possible to >> limit the scope of hooks like our Notification hooks, while still >> allowing them to be caught when entering branches that are subject to >> Notification. At this time the only proposals i've seen for this have >> been for "everything but master and stable branches" which >> unfortunately is not a scalable solution we can support due to the >> significant variance in schemes used for naming stable branches across >> different projects (not without pushing the maintenance role for >> handling all these different naming schemes on to Sysadmin) >> >> > >> > Regards. >> > -- >> > Kevin Ottens, http://ervin.ipsquad.net >> > >> > enioka Haute Couture - proud patron of KDE, https://hc.enioka.com/en >> >> Regards, >> Ben