Talking to Subversion from Python
·——
····
··
—
·····
···——
——···
I really like the idea of using Subversion as a next-generation filesystem. Like Zope's ZODB implementation, Subversion gives you a hierarchical datastore with things like:
- versioning
- transactions
- arbitrary properties
- remote access
But besides having more momentum than Zope as an open-source project, Subversion integrates better with the traditional filesystem, and therefore it plays nicer with existing tools: you can't run
ls on the ZODB without
olympian gymnastics.
One such existing tool is Python, and of course you can use all of Python's
file and
os.path functionality with a Subversion working copy. To use Subversion's advanced features, though, you do need some third-party modules. Luckily, by now there's a module for any use case you'd like:
- SWIG bindings--for accessing a local repo; bundled with Subversion
- PySVN--for manipulating a working copy
- PyDAV--for accessing a remote repo via WebDAV
So all the bases are covered: working copy, local repo, remote repo. One further project you might not know about is
Kapil Thangavelu's unreleased ore.svn package, which wraps the SWIG bindings, giving you a nice Pythonic interface to a local repo.
Have I missed any svn-related Python modules?
·——
····
··
—
·····
···——
——···
Feed back to
Chad Whitacre.