The Calcite git repository seems to be cluttered with unused branches.
I am especially tired of 'maint-0.4.12', which is eleven years old but
comes up every time I type 'git log origin/mai<TAB>'.

I analyzed our branches. There are 37 branches in origin (see
https://github.com/apache/calcite/branches/all).

4 branches have a specific purpose:
 * HEAD (points to main)
 * main
 * master (deprecated, redirects to main)
 * site

29 release branches, prefixed either maint- or branch-:
 * branch-1.0
 * branch-1.1
 * ...
 * branch-1.24
 * branch-avatica-1.8
 * branch-avatica-1.9
 * maint-0.4.12
 * maint-0.4.15

3 seem to be orphans, pushed by mistake:
 * review
 * master
 * issue6607

1 is related to dependabot PR
 * dependabot/bundler/site/nokogiri-1.15.6

Of the 29 release branches, 26 might be called 'trivial'. They are
direct ancestors of current HEAD and are exactly one commit after a
tag, because that is how the Maven release process worked. For example
branch-1.12 is one commit after the tag calcite-1.12.0:

$ git log --abbrev-commit --pretty=format:'%h -%d %s (%cr) <%an>' -n3
origin/branch-1.12
0f92251082 - (origin/branch-1.12) [maven-release-plugin] prepare for
next development iteration (8 years ago) <Julian Hyde>
ea7ace18cd - (tag: calcite-1.12.0) [maven-release-plugin] prepare
release calcite-1.12.0 (8 years ago) <Julian Hyde>
baa13d696f - [CALCITE-1657] Release Calcite 1.12.0 (8 years ago) <Julian Hyde>

The 3 other release branches might be called 'maintenance branches',
because they are several commits away from the main branch. They are:
 * maint-0.4.12 (5,459 commits behind and 20 ahead of main)
 * maint-0.4.15 (5,431 commits behind and 4 ahead of main)
 * branch-1.22 (1,869 commits behind and 1 ahead of main)

I propose to delete the 26 trivial release branches and rename the
maintenance branches:
 * maint-0.4.12 becomes release/0.4.12
 * maint-0.4.15 to release/0.4.15
 * branch-1.22 to release/1.22.

I will not delete any tags. And I will not do anything until release
1.38 is complete.

Any thoughts on this?

Julian

Reply via email to