Skip to main content

Intuitive Subversion wrapper.

Project description

Introduction

svn is a simple Subversion library for Python. I wrote it so that there could be a lightweight and accessible library that was also available on PyPI. It is compatible with both Python 2.7 and 3.3+.

I’ve only implemented the functionality that I have required:

  • Listing entries

  • Getting info

  • Getting log

  • Checking-out

  • Exporting

You are more than welcome to submit pull-requests to add more support for additional subcommands.

Usage

Usage is divided between two clients that either allow for access to a local working-directory or a remote repository.

Both clients inherit a common set of methods that work with both local working-directories and remote repositories.

LocalClient

LocalClient allows access to a local working copy.

Example LocalClient usage:

import svn
import pprint

r = svn.LocalClient('/dev/repo')
r.export('/tmp/export')

pprint.pprint(r.info())

Output:

{'commit#revision': 0,
 'commit/author': None,
 'commit/date': datetime.datetime(2014, 4, 1, 5, 50, 27, 826988, tzinfo=tzutc()),
 'entry#kind': 'dir',
 'entry#path': 'working_copy',
 'entry#revision': 0,
 'relative_url': '^/',
 'repository/root': 'file:///svn/test/repo',
 'repository/uuid': '48195b71-8d94-4528-a019-ec81ebc7e65a',
 'url': 'file:///svn/test/repo',
 'wc-info/depth': 'infinity',
 'wc-info/schedule': 'normal',
 'wc-info/wcroot-abspath': '/svn/dev/working_copy'}

RemoteClient

RemoteClient allows access to a remote repository.

  • checkout(path)

Example RemoteClient usage:

import svn

r = svn.RemoteClient('https://repo.local/svn')
r.checkout('/tmp/working')

Common Functionality

These methods are available on both clients.

  • info()

  • export(path)

  • cat(rel_filepath)

  • log_default(timestamp_from_dt=None, timestamp_to_dt=None, limit=None)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

svn-0.3.18.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

svn-0.3.18-py2-none-any.whl (11.7 kB view details)

Uploaded Python 2

File details

Details for the file svn-0.3.18.tar.gz.

File metadata

  • Download URL: svn-0.3.18.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for svn-0.3.18.tar.gz
Algorithm Hash digest
SHA256 37017eb798edd008faa1ed7f131380d4872928b4390596f48a64be08332e2afc
MD5 08950896bc3970e2c3817a3464c0af39
BLAKE2b-256 b634e7f57435d13ad6dc9aa79b69cf793fa9bdd87121eb09c336204acff3a746

See more details on using hashes here.

File details

Details for the file svn-0.3.18-py2-none-any.whl.

File metadata

File hashes

Hashes for svn-0.3.18-py2-none-any.whl
Algorithm Hash digest
SHA256 8aa8d80de24cf7385cfc4576e38c7f2666ba98cc8ac4d0cb390dfe11326f3ab7
MD5 3f34754ff5852e67df935c09af680d04
BLAKE2b-256 ad1d27e2fa9807268ada48b758ed0835b15000c8f39434d295269916daf14257

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page