Mercurial File Finder Plugin for Setuptools
Project 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.
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
Hashes for z3c.setuptools_mercurial-1.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f2003fb174d4c21088822705a5f57c194ba7f78035578b10ef89c9bf4a02a87 |
|
MD5 | b5b4a9630ea1086e6d6e010d132ce917 |
|
BLAKE2b-256 | 2a80740ba9fe19475807a78e55901039ca580eca8a4129ac27ee4bb8a46d49ec |