[go: up one dir, main page]

Skip to content

Feature Proposal: Improve bulk branch management functionality

Problem to solve

Currently, I have Gitlab-CE/EE/.com setup as mirrors. I want easy access to my branches, to do this I have enabled the only mirror protected branches feature. I have also deleted all Merged branches (See https://gitlab.com/gitlab-org/gitlab-ce/issues/21076), however, it's currently impossible to delete all but protected branches or all stale branches. This means that I have potentially thousands of branches to choose from 99.9% of which I don't use.

Screenshots of current branch management implementation image

Proposal

The solution should be able to:

  • Ability to bulk select branches and delete in one go (Covered in https://gitlab.com/gitlab-org/gitlab-ce/issues/22433)
  • Enter "Bulk edit" mode
  • Selected branches will have the ability to be:
    • Deleted
    • Archived (when ready &13142)
  • Existing permissions on which branch the current user is allowed to delete is applied.
  • Only selected branches will be actioned.
    • This may require multiple steps to delete paginated content but the intent here is to give the user control rather than being unsure on which actual branches are being deleted.

Not handled in proposed solution at the moment:

  • Option to delete all but protected branches

Below are ways to filter the list to be deleted. Filtering along with bulk edit will allow for granular control of which branches can be deleted. Filtering of branches will be handled in this epic Complex filtering for branches (&13234):

  • Button to delete all branches that are currently stale
  • Add the ability to filter branches based on the user that created it or has been active on the branch
  • Should filter branches that don't have merge requests
    • Useful for cleanup !141190 (closed) and/or identifying work that does not have a merge request that should.

Out of scope from original description

Design concepts

Related

Edited by Michael Le