Thanks for detailed analysis Julian! I am +1 with the proposed cleanup. We had discussed this a bit in the past [1] and there was consensus to clean up unused branches.
I would also be fine dropping everything but the 4 necessary branches. We don't do maintenance releases so I don't think we need to keep the "maintenance" branches around. They are also pretty old so it is unlikely that someone will start using them again. Best, Stamatis [1] https://lists.apache.org/thread/rdj1srts0pc1k0p0cc2974sv8crrotnb On Mon, Oct 7, 2024 at 2:33 AM Cancai Cai <caic68...@gmail.com> wrote: > > +1 > Best wishes, > Cancai Cai > > > 2024年10月7日 07:35,Michael Mior <mm...@apache.org> 写道: > > > > +1 > > -- > > Michael Mior > > mm...@apache.org > > > > > > On Sat, Oct 5, 2024 at 6:10 PM Julian Hyde <jh...@apache.org> wrote: > > > >> 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 > >> >