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

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

From
Patrick Steinhardt <ps@pks.im>
Date
May 5, 2025, 06:24 UTC
Message-ID
<aBhZHA7av8bWH9Ac@pks.im>
In-Reply-To
<3f3a0ee6-49a5-8013-7fe0-65c9ba8bfc3a@gmx.de>
On Sun, May 04, 2025 at 10:19:06AM +0200, Johannes Schindelin wrote:
Show 46 quoted lines
> Hi Arnoud,
> 
> On Fri, 2 May 2025, BERENDSEN Arnoud wrote:
> 
> > What did you do before the bug happened? (Steps to reproduce your issue)
> > 
> > - I was migrating an SVN repository to Git using:
> > git svn clone <my-svn-repo> --stdlayout --authors-file=C:\path\to\my-authors-file.txt  --preserve-empty-dirs .
> > 
> > 
> > What did you expect to happen? (Expected behavior)
> > 
> > - I expect the entire process to succeed without errors.
> > When unavoidable errors do happen, I expect the error message to be helpful, give a clear description of what the underlying problem is, and how to solve it.
> > 
> > 
> > What happened instead? (Actual behavior)
> > 
> > - The migration failed with the folowwing error:
> > 
> > r2814 = 1ecf20e2d14b45ee517b56f5f51b406801e9869b (refs/remotes/origin/trunk)
> > Found possible branch point: https://<my-svn-repo> => https://<my-svn-repo>/branches/<my-branch-name>, 2814
> > W: Refspec glob conflict (ref: refs/remotes/origin/trunk):
> > expected path: branches/trunk
> >     real path: trunk
> > Continuing ahead with trunk
> > W: Refspec glob conflict (ref: refs/remotes/origin/trunk):
> > expected path: branches/trunk
> >     real path: trunk
> > Continuing ahead with trunk
> > Initializing parent: refs/remotes/origin/<my-branch-name>@2814
> > Use of uninitialized value $args[2] in join or string at C:/Program Files/Git/mingw64/share/perl5/Git.pm line 1655.
> > Use of uninitialized value $_[3] in exec at C:/Program Files/Git/mingw64/share/perl5/Git.pm line 1681.
> > fatal: Not a valid object name
> > ls-tree -z --name-only  data/OVK/: command returned error: 128
> 
> In Git for Windows, `git svn` is quite a maintenance burden (with a few
> known issues) and my current thinking is to drop it from Git for Windows
> instead of leaving it in the current shape (I, for one, cannot justify
> working on it myself, and the same seems to hold for everybody else, too).
> See also https://github.com/git-for-windows/git/issues/5405.
> 
> Is there a chance that you could use the [Windows Subsystem for Linux
> (WSL)](https://learn.microsoft.com/en-us/windows/wsl/) (i.e. the Linux
> version of Git) for this migration, especially given that the
> characterization as "migration" suggests that this is a one-off task?

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.

Patrick
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 3 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.