Forbidding feature branches on JuliaLang/julia repo

Right now the JuliaLang/julia has 914 branches.
I am pretty suire the majority of which are stale feature branches,
where someone started to implement a feature and then for some reason stopped.
Taking a look, in many cases they even stopped without even openning a PR.
(Also in a lot of cases the PR is closed)

Compare to ruby, there are 23 branches, each one just for a release.
Rust normally looks similar though right now they have a few extras, I am not sure what is up with that (maybe some hotfixes).
cpython also.

The reason we have so many more is because people with merge rights tend to create feature branchs on JuliaLang/julia, rather than in their own forks.
Where as people without merge rights do use their own forks.
Where as in all the other language repos i mention, everyone (merge rights or not) create feature branches on their forks.
I think we should be like them.

Its not a huge deal, but it is just kind of annoying when:

  • Looking for release-1.6 in the dropdown branch menu on github
  • managing my own branches and swapping between them locally
  • Pulling changes so i can rebase (since it pulls all the things anyone is working on)

There are ways to work around all of this, like extra git flags (--singlebranch etc)
but i still think it would be better to just save JuliaLang/julia just for master and the release branches,
and do all the feature development on forks.


I propose we do 3 things:

  1. develop some kind of policy like the above
  2. Workout if we can enforce it (e.g. some setting where fewer people can create branchs?)
  3. Delete all stale branchs from the repo
  4. Repeat step 3 every month until all feature branches are gone
32 Likes

+1 for this. It definitely is an avoidable annoyance.

1 Like

Agreed, it should be cleaned up.

1 Like