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

Fix git-svn tests for SVN 1.7.5.

From
Michael G Schwern <schwern@pobox.com>
Date
Jul 17, 2012, 00:53 UTC
Message-ID
<5004B772.3090806@pobox.com>
Hi,

I've fixed the git-svn tests for SVN 1.7 and tested with SVN 1.7.5. SVN 1.7 changed its expectations of path and URL formats and git-svn did not comply with them. The new code uses SVN's own canonicalization routines where available. This has been reported in several places... https://bugs.gentoo.org/show_bug.cgi?id=418431 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=678764 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=661094 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=678137 https://trac.macports.org/ticket/32753

It also split the internal classes out of git-svn.perl and into their own modules in perl/Git/ to make them easier to work on. They compile alone, but remain heavily intertwined with each other and git-svn. I didn't want to go very far down that rabbit hole.

This makes the tests pass, but I'm pretty sure plenty of canonicalization problems remain untested. Hopefully by attacking the problem at the root (ie. in the Git::SVN and Git::SVN::Ra accessors) it will wipe out a range of problems.

t9100-git-svn-basic.sh tests 11-13 continue to fail for what look like unrelated reasons to do with SVN and symlinks.

There's a lot of work in this change, so I felt it better to submit the patches as a link to a git repository rather than attach a pile of patches. Here is my repository, the work is in the fix-canonical branch. https://github.com/schwern/git

Here's a summary of what was done.
* Changed git-svn's main canonicalization routines to use SVN's API.
* Replaced other ad-hoc canonicalization routines with git-svn's
  single routine.
* Moved all the Git:: classes inside git-svn into their own .pm files
  in perl/Git.  They compile, but don't do much more than that alone.
  They're still heavily dependent on git-svn.  It's a start.
* Added Git::SVN->url, Git::SVN->path and Git::SVN::Ra->url to replace
  code grabbing at hash keys.
* Made the above automatically canonicalize their path or url.
* Found some key locations which were not canonicalizing.
* Made the process of adding a new Perl module easier by having the
  Makefile.PL scan for .pm files.
-- 
Alligator sandwich, and make it snappy!
Next: Jonathan Nieder
Message 1 of 34 in “Fix git-svn tests for SVN 1.7.5.”
  1. Michael G SchwernJul 17, 2012
  2. Jonathan NiederJul 17, 2012
  3. Michael G SchwernJul 17, 2012
  4. Extract Git classes from git-svn (4/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  5. Extract Git classes from git-svn (5/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  6. Find .pm files automatically (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  7. Jonathan NiederJul 18, 2012
  8. Michael G SchwernJul 18, 2012
  9. Jonathan NiederJul 18, 2012
  10. Extract Git classes from git-svn (2/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  11. Jonathan NiederJul 18, 2012
  12. Eric WongJul 18, 2012
  13. Michael G SchwernJul 19, 2012
  14. Extract Git classes from git-svn (3/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  15. Jonathan NiederJul 18, 2012
  16. Extract Git classes from git-svn (6/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  17. Extract Git classes from git-svn (7/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  18. Extract Git classes from git-svn (8/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  19. Extract Git classes from git-svn (9/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  20. Extract Git classes from git-svn (10/10) (was Re: Fix git-svn tests for SVN 1.7.5.)Michael G Schwern, Jul 17, 2012
  21. Ben WaltonJul 21, 2012
  22. Jonathan NiederJul 17, 2012
  23. Junio C HamanoJul 18, 2012
  24. Thiago FarinaJul 19, 2012
  25. Michael G SchwernJul 24, 2012
  26. Jonathan NiederJul 24, 2012
  27. Eric WongJul 25, 2012
  28. Michael G SchwernJul 25, 2012
  29. OT: mail-based interfaces and web-based interfaces (Re: Extract Git classes from git-svn (1/10))Jonathan Nieder, Jul 25, 2012
  30. Michael G SchwernJul 25, 2012
  31. Eric WongJul 25, 2012
  32. Michael G SchwernJul 26, 2012
  33. Jonathan NiederJul 26, 2012
  34. Eric WongJul 26, 2012

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.