Metadata-Version: 1.0
Name: z3c.setuptools-mercurial
Version: 1.1.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']
        
        Buildout 1.5 and higher
        -----------------------
        
        When one uses zc.buildout 1.5 or higher, the system's environment is
        manipulated. In particular, the PYTHONPATH OS environment variable is
        rewritten. In that case it should be deleted:
        
          >>> import os
          >>> bo_orig_path = os.environ.pop('BUILDOUT_ORIGINAL_PYTHONPATH', None)
          >>> orig_path = os.environ.get('PYTHONPATH')
          >>> os.environ['PYTHONPATH'] = '/bogus'
        
          >>> finder.find_files(os.path.join(repos, 'dir1'))
          ['data1.txt', 'dir11/data1.txt']
        
          >>> if bo_orig_path:
          ...     os.environ['BUILDOUT_ORIGINAL_PYTHONPATH'] = bo_orig_path
          >>> if orig_path:
          ...     os.environ['PYTHONPATH'] = orig_path
        
        
        =======
        CHANGES
        =======
        
        1.1.1 (2010-08-30)
        ------------------
        
        - Bug: Improve the Buildout support. Thanks to Gary Poster for helping me out.
        
        1.1.0 (2010-08-30)
        ------------------
        
        - Feature: Make ``z3c.setuptools_mercurial`` compatible with Buildout 1.5,
          which does not include the standard PYTHONPATH by default anymore. This
          caused mercurial not to find its library.
        
        - Feature: Use ``doctest`` instead of ``zope.testing.doctest``.
        
        - Feature: Update coverage setup.
        
        
        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
