Metadata-Version: 1.0
Name: z3c.setuptools_mercurial
Version: 1.0.1
Summary: Mercurial File Finder Plugin for Setuptools
Home-page: http://pypi.python.org/pypi/z3c.setuptools_mercurial
Author: Stephan Richter and the Zope Community
Author-email: zope-dev@zope.org
License: ZPL 2.1
Description: A simple setuptools plugin to support creating distributions from a
        mercurial-based package checkout.
        
        
        Detailed Documentation
        **********************
        
        ===========================================
        Mercurial File Finder Plugin for Setuptools
        ===========================================
        
        This package provides a simple, command-based file finder plugin for
        setuptools. Once installed, one can create distributions using a pacakge that
        has been checked out with Mercurial.
        
        So let's create a workspace:
        
        >>> import tempfile
        >>> ws = tempfile.mkdtemp()
        
        Since the workspace is not a mercurial repository, the finder returns an empty
        list and leaves an error message in the logs:
        
        >>> from z3c.setuptools_mercurial import finder
        
        >>> finder.find_files(ws)
        abort: There is no Mercurial repository here (.hg not found)! (code 255)
        <BLANKLINE>
        []
        
        Also, if the directory does not exist, we get an error message, but an empty
        result set:
        
        >>> finder.find_files('/foo')
        [Errno 2] No such file or directory: '/foo'
        []
        
        Let's now create a new repository:
        
        >>> import os
        >>> repos = os.path.join(ws, 'test')
        >>> cmd('hg init ' + repos)
        
        The finder still fails with error code 1, since no file is yet added in the
        repository:
        
        >>> finder.find_files(repos)
        (code 1)
        []
        
        Let's now add soem directories and files and the finder should be happy.
        
        >>> cmd('touch ' + os.path.join(repos, 'data.txt'))
        >>> cmd('hg add ' + os.path.join(repos, 'data.txt'))
        
        >>> cmd('mkdir ' + os.path.join(repos, 'dir1'))
        >>> cmd('touch ' + os.path.join(repos, 'dir1', 'data1.txt'))
        >>> cmd('hg add ' + os.path.join(repos, 'dir1', 'data1.txt'))
        
        >>> cmd('mkdir ' + os.path.join(repos, 'dir1', 'dir11'))
        >>> cmd('touch ' + os.path.join(repos, 'dir1', 'dir11', 'data1.txt'))
        >>> cmd('hg add ' + os.path.join(repos, 'dir1', 'dir11', 'data1.txt'))
        
        >>> finder.find_files(repos)
        ['data.txt',
        'dir1/data1.txt',
        'dir1/dir11/data1.txt']
        
        Note that the result of the finder is always a list of relative locations
        based on the input directory.
        
        >>> finder.find_files(os.path.join(repos, 'dir1'))
        ['data1.txt',
        'dir11/data1.txt']
        
        
        =======
        CHANGES
        =======
        
        1.0.1 (2009-12-16)
        ------------------
        
        - Feature: Add a test for getting the file list within a sub-directory of the
        repository.
        
        - Bug: It turns out that setuptools does not like "./<path>" notation but only
        "<path>". Fixed the problem.
        
        
        1.0.0 (2009-12-15)
        ------------------
        
        - Initial release.
        
Keywords: setuptools mercurial distribution
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Programming Language :: Python
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Version Control
Classifier: Framework :: Setuptools Plugin
