Hi all, apache/cloudberry has 21 branches today [1]. Besides main and the release branches, most were created for a single PR, e.g. fix_issue_1915, cp_CVE_2025_12817, bp_old_main, reshke-patch-1, and some names don't say what the branch is for at all (ijjdiew, PG_).
I'd suggest that topic branches live in personal forks by default: - Branches in apache/* look official to users and packagers. - Only main and REL_2_STABLE are protected; the rest can be force-pushed or deleted by any committer. - Every push mails commits@ and runs CI on the shared runners (e.g. [2]). - del_branch_on_merge only cleans up merged PRs, so branches from closed or abandoned PRs stay forever. The trade-offs I can see: - PRs from forks don't get repository secrets, and first-time contributors need a committer to approve the CI run. - Several people can't easily push to one fork branch, and PRs can't be stacked across repositories. So the proposal: 1. The main repo keeps main, REL_*_STABLE, archive branches, and shared feature/* branches for multi-person work agreed on dev@. 2. Everything else goes in forks. 3. One-time cleanup: owners have two weeks to claim branches they still need; the rest get deleted (PR history stays in refs/pull/*). Questions: - Do any of our CI workflows require running from the main repo? - Which current branches should be kept? Thoughts? [1] https://github.com/apache/cloudberry/branches/active [2] https://lists.apache.org/thread/wwrx56ms8wgllcyymyqgtw97zlsxd14p Best regards, Max Yang
