Metadata-Version: 1.0
Name: sven
Version: 0.3
Summary: sven is a document-oriented programming library that helps you put content in SVN
Home-page: UNKNOWN
Author: Ethan Jucovy & Jeff Hammel
Author-email: ejucovy+sven@gmail.com
License: GPL
Description: It requires `pysvn` which you will probably want to install system-wide.
        
        Basic usage:
        
        from sven.backend import SvnAccess
        client = SvnAccess(my_svn_server_repo_uri, my_local_checkout_dir)
        
        client.write('path/to/a/file/to/write', "Lovely content to be versioning!")
        client.write('path/to/another/file', "Aw shucks, I'll version this too..",
        msg="My commit message", kind='text/plain')
        
        last_rev_int = client.last_changed_rev('path/to/another/file')
        
        last_rev_int = last_rev_int - 1
        from sven.exc import ResourceUnchanged
        try:
        earlier_version = client.read('path/to/another/file', rev=last_rev_int)
        except ResourceUnchanged, exc:
        last_rev_int = exc.last_change
        earlier_version = client.read('path/to/another/file', rev=last_rev_int)
        
        changelog = client.log('path/to/another/file', rev=last_rev_int)
        
        Each `.write` writes the content to the path on the local filesystem's checkout
        and then commits it to the repository. The workflow of one-write-per-commit is
        by design and is not likely to change soon; if you need a different workflow,
        you probably ought to just be using svn clients directly, anyway.
        
        Currently sven does not help you set up an svn client or server.  It assumes
        you've already got a repository and checkout set up.
        
        The formats returned by some of its methods (particularly .log and .ls) are
        totally ad-hoc right now and strange; they'll probably be formalized sooner
        or later.
        
        
        New in version 0.3:
        
        
        * Removed `SvnAccess.update_after_write` knob and instead set default value of True
        to the `update_after_write` argument to `SvnAccess.write`; callers can implement
        alternatives trivially by subclassing.
        
        * Added `update_before_write` argument to .write with default value of True. Turn
        this off as well as `update_after_write` if you want to manage synchronicity in
        exchange for potentially significant performance improvements.
        
        * Added `default_commit_message` argument to `SvnAccess` constructor. The default
        is "foom".
        
        * Throw `exc.ResourceChanged` exceptions when a file is found to be out of date
        during a write operation (which will only happen if `update_before_write` is
        unset by the caller) and revert local changes if this happens, to restore the
        checkout to an unconflicting state.
        
Platform: UNKNOWN
