-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k

Description
Originally reported by: philip_thiem (Bitbucket: philip_thiem, GitHub: Unknown)
It is really interesting how far I've gotten sidetracked, but scratching the itch I suppose.
I was running the tests for pip on win32 and the SVN tests were failing, took a looked like there is an issue with metadata support for SVN 1.7.
I had tossed together a revision to get_svn_revision to get the pip's test suite to complete with 0.7.3dev and svn1.7. This revision is a bit different than my original patch but should get the idea across. I was surprised that the suite only choked on getting the revision. So, I have doubts about the completeness of the this fix.
Also I used the subprocess module (in a Python2.4+ compatible manner). However, I noticed a comment in the module saying that egg_info.py needed to be Python 2.3 compatible. Is this still true?
Looks like the change is pretty significant: Switching to a central sqllite database located in the root .svn directory. Some of the documentation would seem to indicate that they want people to use the command line tools to access this information and not the try to use it directly.
I had some concerns about testing. I have a test_svn.py which uses the command line to build the working directories for testing get_svn_revision(), but would seem wiser to just provide static copies of a checked out directory. SVN tests looks like they need to be expanded.
Here are some previous tickets on the issues as the issue tracker has migrated around:
This contains several patches for converting the current setup to a separate SVN class. This looks like a good idea (would probably be saner for testing)
Subversion 1.6 entries format 'unrecognized'
SVN Entries parsing should use local svn command for implementation
Subversion 1.7 introduces new storage format - breaks distribute svn support
Later i will grep the code for svn related routines and see if I missed anything.