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
> >>
>

Reply via email to