git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Cleaning up "contrib/" (was: git svn clone failed)

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
May 5, 2025, 07:36 UTC
Message-ID
<5ffefc29-75ee-e278-448c-9124740d02fb@gmx.de>
In-Reply-To
<aBhZHA7av8bWH9Ac@pks.im>
Hi Patrick,
On Mon, 5 May 2025, Patrick Steinhardt wrote:
Show 21 quoted lines
> On Sun, May 04, 2025 at 10:19:06AM +0200, Johannes Schindelin wrote:
> > 
> > On Fri, 2 May 2025, BERENDSEN Arnoud wrote:
> > 
> > > [... talks about `git svn` not working in Git for Windows ...]
> > 
> > In Git for Windows, `git svn` is quite a maintenance burden [... then
> > suggests to use Windows System for Linux (WSL) as a workaround ...].
> 
> I sometimes wonder whether we should move such basically-unmaintained
> scripts out of the Git repository. They do a disservice to both us and
> to our users as they create the wrong impression of being the sanctioned
> way of doing a particular task even though they have only been gathering
> dust for ages.
> 
> 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.

While I am thoroughly sympathetic to the idea of cleaning up `contrib/` (which is a mixture of things that are quite well supported, such as the Bash tab completion script, and of things that are the opposite of maintained, such as `contrib/workdir/` that should have been dropped a long time ago since it encourages relying on Git's internals and has been superseded by `git worktree`), I cannot fail to notice that `git-svn` isn't even in `contrib/`.

Instead, `git-svn` is in the same category as `git-archimport`, `git-cvsserver`, `git-cvsexportcommit` and `git-cvsimport`, i.e. Git commands that tried to facilitate transitioning from specific version control systems that had been a lot more common than Git at the time, but no longer are. Maybe `git-svn` is not quite as obsolete as the other commands in that category, but they are all merely dust collectors in Git's codebase.

Ciao, Johannes

Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 4 of 13 in “git svn clone failed”
  1. BERENDSEN ArnoudMay 2, 2025
  2. Johannes SchindelinMay 4, 2025
  3. Cleaning up "contrib/" (was: git svn clone failed)Patrick Steinhardt, May 5, 2025
  4. Johannes SchindelinMay 5, 2025
  5. Patrick SteinhardtMay 5, 2025
  6. Junio C HamanoMay 5, 2025
  7. Patrick SteinhardtMay 6, 2025
  8. Jeff KingMay 12, 2025
  9. brian m. carlsonMay 13, 2025
  10. Patrick SteinhardtMay 13, 2025
  11. Junio C HamanoMay 13, 2025
  12. Jeff KingMay 14, 2025
  13. Junio C HamanoMay 14, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.