Metadata-Version: 1.0
Name: python-veracity
Version: 0.0.2
Summary: Python wrapper for Vearcity's command-line interface.
Home-page: http://pypi.python.org/pypi/python-veracity
Author: Jace Browning
Author-email: jacebrowning@gmail.com
License: LICENSE.txt
Description: Introduction
        ============
        
        This library provides a Python wrapper for Veracity's command-line interface.
        It includes objects for repositories, working copies, and other commonly-used
        items. The library also installs several command-line tools to work with
        Veracity's distributed build tracking features.
        
        
        
        Getting Started
        ===============
        
        Requirements
        ------------
        
        * Python 2.7
        
        * Veracity 2.5: http://veracity-scm.com
        
        * Make: http://gnuwin32.sourceforge.net/packages/make.htm (optional)
        
        
        Dependencies
        ------------
        
        * pbs: https://pypi.python.org/pypi/pbs (subprocess wrapper for Windows)
        
        * sh: https://pypi.python.org/pypi/sh (subprocess wrapper for other OSs)
        
        * virtualenv: https://pypi.python.org/pypi/virtualenv (isolated installations)
        
        
        Installation
        ------------
        
        This package can be installed with ``pip`` or ``easy_install``::
        
            pip install python-veracity
        
        or directly from source::
        
            python setup.py install
        
        After installation, the package is available under the name ``veracity``::
        
            >>> import veracity
            >>> veracity.__version__
            
            >>> from veracity import vv
            >>> vv.version()
            >>> vv.repos()
            
        
        
        Scripting Interface
        ===================
        
        A sample script might look like this::
        
            #!/usr/bin/env python
        
            from veracity import Repository, WorkingCopy, Item
        
            # Clone a repo
            repo = Repository('veracity', remote='http://public.veracity-scm.com/repos/veracity')
        
            # Display Repository attributes
            print repo.name
            print repo.users
            print repo.branches
            print repo.tags
        
            # Check out a working copy (from a Repository)
            work = repo.checkout("~/v/veracity")
            work.delete()
        
            # Check out a working copy (by repo name)
            work = WorkingCopy("~/v/veracity", repo='veracity')
            work.update(branch='master')
        
            # Change some files
            item = Item('docs/GettingStarted.txt', work=work)
            item.lock()
        
        
        
        Build Tracking
        ==============
        
        This package also installs a set of command-line tools to work with Veracity's
        Distributed Build Tracking feature: http://veracity-scm.com/qa/questions/123
        
        Configuration
        -------------
        
        In your master branch, create a ``setup.cfg`` similar to the following::
        
           [vv-tracking]
           
           repositories = <repository name>
           series = N, C
           environments = W, M, L
           virtualenv = virtualenv
           
           
           [vv-poller]
           
           N_branches = *
           N_command = [ $( date "+%H" ) = 00 ]
           N_command-nt = if %TIME:~0,2%==00 (exit /b 0) else (exit /b 1)
           N_rebuild = True
           N_sleep = 60 * 30
           N_start = Q
           
           C_branches = master, develop, feature-*, release-*, hotfix-*
           C_command = 
           C_rebuild = 
           C_sleep = 60
           C_start = Q
           
           
           [vv-builder]
           
           U_enter = Q
           U_path = .
           U_command = make depends
           U_fail = UF
           U_exit = U
           
           B_enter = U
           B_path = .
           B_command = make install
           B_fail = BF
           B_exit = B
           
           T_enter = B 
           T_path = .
           T_command = make test
           T_fail = TF
           T_exit = T
           
           C_enter = T
           C_path = .
           C_command = make check
           C_fail = CF
           C_exit = D
        
        The series (N, C), environment (W, M, L), and status (Q, U, B, T, C, UF, BF,
        TF, CF, D) aliases should match what it defined in your repositories build
        configuration.
            
        
        Poller
        ------
        
        To run one iteration of poller for your repository::
        
            vv-poller <repository name>
        
        To run forever as a daemon::
            
            vv-poller <repository name> --daemon
        
        From within a working copy, the configuration can be tested using::
        
            vv-poller --test
        
        
        Builder
        -------
        
        To run one iteration of builder for your repository::
        
            vv-builder <repository name> --env <environment alias>
        
        To run forever as a daemon::
            
            vv-builder <repository name> --env <environment alias> --daemon
        
        From within a working copy, the configuration can be tested using::
        
            vv-builder --test
        
        
        
        Unit and Integration Tests
        ==========================
        
        To run the unit and integration tests for the ``veracity`` package::
        
            python setup.py test
        
Platform: UNKNOWN
