#2340 Get a process established to remove branches
Closed: Accepted 3 years ago by psabata. Opened 3 years ago by churchyard.

I was asked in https://pagure.io/releng/issue/9131 to open a ticket at FESCo to get a process established to remove branches.

Here it is.

Proposal: When the branch is reachable from any other branch that is not being removed, releng can remove the branch.

Note that this is targeted at accidental branches, we don't allow branches like master of f31 to be removed.

One way to check if a branch is reachable from master is like this:

if git rev-list origin/master | grep `git rev-parse remotes/origin/$BRANCH` ; then
    echo "OK to remove" ; else
    echo "NOT ok to remove" ;

And I suppose the maintainer who wants to remove the branch would say from what branch it is reachable, i.e. there needn't be any automation to find that out, just a simple check besed on what @kalev says.

i.e. I would say: please drop the memento branch, it is reachable from master.
and releng would run the above to verify and drop

I'll just add some things from the last time this was discussed:

  • IMHO, we need a process that is simple and easy for releng (run this script, do this command is fine). I am strongly against "ask releng to investigate each case and decide what can be removed safely". releng is very busy and frankly these requests are cosmetic, so anything to make them not time consuming is needed.

  • We need to make sure we don't remove commits that are used for builds (The 'reachable via master' does handle this).

  • Ideally we would get dist-git to just allow maintainers or provenpackagers to delete the branches they were allowed to and block the ones they are not and just leave releng out of it. I have no idea how hard this would be to implement as a hook though.

run this script is fine. I can create the script that checks this, @kalev basically provided it, it just needs to handle arguments.

Note: as a cvsadmin I am OK to handle such requests myself. they don't come very often nor they are time critical, so I can do that in bulk once a release.

Metadata Update from @psabata:
- Issue tagged with: meeting

3 years ago
  * AGREED: Branches reachable from any other branch that are not used
    for building anything can be removed (+6, 0, -0)  (contyk, 16:51:52)

Metadata Update from @psabata:
- Issue untagged with: meeting
- Issue close_status updated to: Accepted
- Issue status updated to: Closed (was: Open)

3 years ago

Login to comment on this ticket.