Don't need egg dir

This commit is contained in:
Alex Clark 2010-07-30 23:20:29 -04:00
parent 8f79274ca4
commit 548f55c68d
9 changed files with 0 additions and 178 deletions

View File

@ -1,63 +0,0 @@
Metadata-Version: 1.0
Name: setuptools-hg
Version: 0.2
Summary: Setuptools plugin for finding files under Mercurial version control.
Home-page: http://bitbucket.org/jezdez/setuptools_hg/
Author: Jannis Leidel
Author-email: jannis@leidel.info
License: GPL2
Download-URL: http://bitbucket.org/jezdez/setuptools_hg/downloads/
Description:
setuptools_hg
=============
setuptools_hg is a plugin for setuptools that enables setuptools to find files
under the Mercurial version control system.
It uses the Mercurial Python library by default and falls back to use the
command line programm ``hg(1)``. That's especially useful inside virtualenvs
that don't have access to the system wide installed Mercurial lib (e.g. when
created with ``--no-site-packages``).
.. note:: The setuptools feature
You can read about the hooks used by setuptool_hg in the
`setuptools documentation`_. It basically returns a list of files that are
under Mercurial version control when running the ``setup`` function, e.g. if
you create a source and binary distribution. It's a simple yet effective way
of not having to define package data (non-Python files) manually in MANIFEST
templates (``MANIFEST.in``).
.. _setuptools documentation: http://peak.telecommunity.com/DevCenter/setuptools#adding-support-for-other-revision-control-systems
Usage
*****
Here's an example of a setup.py that uses setuptools_hg::
from setuptools import setup, find_packages
setup(
name="HelloWorld",
version="0.1",
packages=find_packages(),
setup_requires=["setuptools_hg"],
)
If you run this setup.py setuptools will automatically download setuptools_hg
to the directory where the setup.py is located at (and won't install it
anywhere else) to get all package data files from the Mercurial repository.
Options
*******
Set the ``HG_SETUPTOOLS_FORCE_CMD`` environment variable before running
setup.py if you want to enforce the use of the hg command.
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Topic :: Software Development :: Version Control
Classifier: Framework :: Setuptools Plugin

View File

@ -1,11 +0,0 @@
.hgtags
LICENSE
setup.cfg
setup.py
setuptools_hg.py
setuptools_hg.egg-info/._PKG-INFO
setuptools_hg.egg-info/PKG-INFO
setuptools_hg.egg-info/SOURCES.txt
setuptools_hg.egg-info/dependency_links.txt
setuptools_hg.egg-info/entry_points.txt
setuptools_hg.egg-info/top_level.txt

View File

@ -1,3 +0,0 @@
[setuptools.file_finders]
hg = setuptools_hg:hg_file_finder

View File

@ -1 +0,0 @@
setuptools_hg

View File

@ -1,98 +0,0 @@
"""
A plugin for setuptools to find files under the Mercurial version control
system which uses the Python library by default and falls back to use the
command line programm hg(1).
"""
__version__ = '0.2'
__author__ = 'Jannis Leidel'
__all__ = ['hg_file_finder']
import os
import subprocess
try:
from mercurial.__version__ import version
from mercurial import hg, ui, cmdutil
except:
hg = None
try:
from mercurial.repo import RepoError
except:
try:
from mercurial.error import RepoError
except:
pass
OLD_VERSIONS = ('1.0', '1.0.1', '1.0.2')
if os.environ.get('HG_SETUPTOOLS_FORCE_CMD', False):
hg = None
def find_files_with_cmd(dirname="."):
"""
Use the hg command to recursively find versioned files in dirname.
"""
try:
proc = subprocess.Popen(['hg', 'locate'],
stdin=subprocess.PIPE,
stderr=subprocess.PIPE,
stdout=subprocess.PIPE,
cwd=dirname)
stdout, stderr = proc.communicate()
except:
# Let's behave a bit nicer and return nothing if something fails.
return []
return stdout.splitlines()
def find_files_with_lib(dirname):
"""
Use the Mercurial library to recursively find versioned files in dirname.
"""
try:
try:
repo = hg.repository(ui.ui(), path=dirname)
except RepoError:
return
# tuple of (modified, added, removed, deleted, unknown, ignored, clean)
modified, added, removed, deleted, unknown = repo.status()[:5]
# exclude all files that hg knows about, but haven't been added,
# or have been deleted, removed, or have an unknown status
excluded = removed + deleted + unknown
if version in OLD_VERSIONS:
from mercurial import util
node = None
for src, abs, rel, exact in cmdutil.walk(repo, [], {}, node=node,
badmatch=util.always, default='relglob'):
if src == 'b':
continue
if not node and abs not in repo.dirstate:
continue
if abs in excluded:
continue
yield abs
else:
rev = None
match = cmdutil.match(repo, [], {}, default='relglob')
match.bad = lambda x, y: False
for abs in repo[rev].walk(match):
if not rev and abs not in repo.dirstate:
continue
if abs in excluded:
continue
yield abs
except:
# try calling hg command as a last resort
find_files_with_cmd(dirname)
def hg_file_finder(dirname="."):
"""
Find the files in ``dirname`` under Mercurial version control.
"""
if not dirname:
dirname = "."
if hg is None:
return find_files_with_cmd(dirname)
return find_files_with_lib(dirname)