Here’s my proposal for how we handle cleaning up the branches as part of changing the branching model.
- If the branch is merged, delete it.
- If the branch is for an unmerged pull request that is actively being developed:
- Have the original submitter fork the repository and make a new PR from that branch in the fork.
- Delete the branch in the upstream.
- Reference the original PR from the new one so discussion is linked.
- Close the original PR.
- If the PR is for an unmerged PR that has not seen activity for some time:
- Close the PR.
- Ask the submitter to make a fork and do as for active PRs, above.
- Schedule the branch for deletion in one month.
- If the submitter is unresponsive or unwilling to continue the work, try to find someone else to take over.
- If the branch is not linked to a PR but is actively being developed:
- Ask the person who is working on it to fork and work on the branch in their fork, then do a PR as per the new development process.
- Delete the branch once the fork has been created.
- If the branch is not linked to a PR and is not actively being developed, delete it. If we really want it the history will still be there so we can resurrect it later.
- Unless someone wants to take over the work, in which case they must make a fork.
Please provide comments or alternative proposals!