Subject: Re: Cleaning up "contrib/"

From: Patrick Steinhardt <[email-masked]>
Date: Tue, 6 May 2025 07:40:39 +0200

On Mon, May 05, 2025 at 12:10:15PM -0700, Junio C Hamano wrote:
> Patrick Steinhardt <[email-masked]> writes:
> 
> > Many of the tools in "contrib/" fall into this category, and to the best
> > of my knowledge there isn't really a clear strategy for that directory.
> > So from my perspective, we should either rethink whether it is worth it
> > to have "contrib/" as part of Git, or we should at least do a spring
> > cleanup and drop bits that haven't seen any love in the last couple of
> > years.
> 
> Things in contrib/ should either move up (to become a part of the
> core), move out (to become an independent project), or disappear.

So this very much sounds like staging drivers in the Linux kernel, where
[1] seems to match the description of yours. The only problem is that I
haven't really seen the described movement -- many of the pieces haven't
been touched for years.

I'll probably just send a patch series to get rid of at least a subset
of them. I also think that we should adapt the README and rephrase it
according to what the modern intention of this directory is, which seems
to have changed.

Other than that we also have some bits and pieces that _are_ actively
maintained, but that just don't have a better place to live:

  - CMake.
  - Coccinelle rules.
  - Contacts.
  - Credential helpers.
  - Diff-highlight.
  - git-jump.
  - Shell completion.

Maybe they should be promoted and receive a proper home.

> But isn't git-svn not even part of contrib/?

Yeah, Dscho already corrected me.

Patrick

[1]: https://lwn.net/Articles/324279/