Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SVN 1.7 #26

Closed
ghost opened this issue Jun 29, 2013 · 14 comments
Closed

SVN 1.7 #26

ghost opened this issue Jun 29, 2013 · 14 comments

Comments

@ghost
Copy link

ghost commented Jun 29, 2013

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:

subversion 1.5 working copy causes problem in entries_finder: NameError: global name 'log' is not defined

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.


@ghost
Copy link
Author

ghost commented Jun 29, 2013

Original comment by jaraco (Bitbucket: jaraco, GitHub: jaraco):


Distribute and Setuptools 0.7+ both require Python 2.4+.

@ghost
Copy link
Author

ghost commented Jun 29, 2013

Original comment by philip_thiem (Bitbucket: philip_thiem, GitHub: Unknown):


Relevant files appear to be:

  • setuptools/command/sdist.py
    • externals_finders - look like read/parse iterator looking for svn:externals from a properties file
      • referenced by a global variable to look in .svn/dir-props, .svn/dir-prop-base
    • enteries_finder - lists directory enteries.
      • referenced by a global variable to look in .svn/enteries,
    • these are referenced with iter_entry_points : setuptools.file_finders
      • used only (as much as I can see) by walk_revctl
        • which is only used in egg_info.py
          • rcfiles = list(walk_revctrl())
  • setuptools/command/egg_info.py
    • get_svn_revision

The following uses SVN from command-line

  • setuptools/package_index.py
    • _download_svn

So will probably need to add a test for the walk_revctrl() function or at least the iter_entery_point.

@ghost
Copy link
Author

ghost commented Jun 29, 2013

Original comment by philip_thiem (Bitbucket: philip_thiem, GitHub: Unknown):


http://bugs.python.org/setuptools/file55/svn_versioning_4.patch

Looks like a reasonable starting point. I'll try it out later.

@ghost
Copy link
Author

ghost commented Jun 30, 2013

Original comment by philip_thiem (Bitbucket: philip_thiem, GitHub: Unknown):


Just noticed this https://pypi.python.org/pypi/setuptools_subversion

@ghost
Copy link
Author

ghost commented Jun 30, 2013

Original comment by philip_thiem (Bitbucket: philip_thiem, GitHub: Unknown):


Looks like both over look externals (1.7 doesn't have .svn/dir-prop-[base]) and the fact that there seems to be 2-3 different field orderings supported

@ghost
Copy link
Author

ghost commented Jul 4, 2013

Original comment by philip_thiem (Bitbucket: philip_thiem, GitHub: Unknown):


cleaned up things don't need all the file parsing if we just rely on the commandline tools. Everything can be done from the command line from 1.3.x onward without localization issues. My branch has a working implementation. Just need some finishing touches with encodings and a 1.6 repository test case since I broke one of Jason's

@ghost
Copy link
Author

ghost commented Jul 14, 2013

Original comment by pnasrat (Bitbucket: pnasrat, GitHub: pnasrat):


It'd be good to see this in Fedora 19 ships with svn 1.7.

@ghost
Copy link
Author

ghost commented Jul 16, 2013

Original comment by philip_thiem (Bitbucket: philip_thiem, GitHub: Unknown):


Ran into a bit of snag with what some of the newer version will accept for svn:externals, and finally finished expanding out the unit tests (not pushed to my repo yet). Will probably merge the latest develop this weekend and if all goes well test will pass on win32 X (py 2.4-2.7 and 3.1-3.3) x (svn1.3-1.8) and linux x (py 2.5-2.7 and 3.1 and 3.3) x svn1.6 before I send the pull request. If someone on darwin wants to try it out or knows of a travis-ci on mac service, I can pushing things a bit sooner. :)

@ghost
Copy link
Author

ghost commented Oct 30, 2013

Original comment by jaraco (Bitbucket: jaraco, GitHub: jaraco):


Issue #95 was marked as a duplicate of this issue.

@ghost
Copy link
Author

ghost commented Oct 30, 2013

Original comment by jaraco (Bitbucket: jaraco, GitHub: jaraco):


Setuptools 1.2b1 is now available in the downloads area. Please test this private release and report any emergent issues.

@ghost
Copy link
Author

ghost commented Nov 6, 2013

Original comment by pombredanne (Bitbucket: pombredanne, GitHub: pombredanne):


Could we reopen this one?
There is an issue with a log message "Not SVN repository" logged spuriously... it has pernicious side effects such as making the Buildout tests fail:
See this thread for details: https://bitbucket.org/philip_thiem/setuptools/commits/9dd3bcf22cb56eb0826051f9e477f155e47cdbf6#Lsetuptools/svn_utils.pyT247

@ghost
Copy link
Author

ghost commented Nov 6, 2013

Original comment by pombredanne (Bitbucket: pombredanne, GitHub: pombredanne):


@jaraco @philip_thiem FWIW I am a committer on buildout

@ghost
Copy link
Author

ghost commented Nov 6, 2013

Original comment by mgedmin (Bitbucket: mgedmin, GitHub: mgedmin):


BTW there are also other projects out there with new test failures caused by an unexpected log message saying "Not SVN Repository" coming from the new setuptools release: https://mail.zope.org/pipermail/zope-dev/2013-November/045918.html

@ghost
Copy link
Author

ghost commented Nov 6, 2013

Original comment by philip_thiem (Bitbucket: philip_thiem, GitHub: Unknown):


https://bitbucket.org/pypa/setuptools/pull-request/22

@ghost ghost closed this as completed Mar 29, 2016
jaraco added a commit that referenced this issue Jul 4, 2021
jaraco added a commit that referenced this issue Feb 4, 2023
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

0 participants