# HG changeset patch # User Christian Ebert # Date 1170913395 -3600 # Node ID 99dc49c5bcfba9d5b412c5fa6d0bf3ba20d68df1 # Parent 6cf933de685a8fe3db22871f9812f4f64e6cd1f5 Setup standalone module install, version tracking diff -r 6cf933de685a -r 99dc49c5bcfb .hgignore --- a/.hgignore Wed Feb 07 15:50:57 2007 +0100 +++ b/.hgignore Thu Feb 08 06:43:15 2007 +0100 @@ -1,7 +1,10 @@ syntax: glob *.pyc +*.pyo *~ *.swp *.orig *.rej + +hgkw/__version__.py diff -r 6cf933de685a -r 99dc49c5bcfb hgkw/version.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hgkw/version.py Thu Feb 08 06:43:15 2007 +0100 @@ -0,0 +1,46 @@ +# $Id$ + +'''version.py - hgkw version. +Code stolen from Mercurial, and simplified for my needs. +''' + +import os, time + +unknown_version = 'unknown' + +def getversion(doreload=False): + try: + import hgkw.__version__ + if doreload: + reload(hgkw.__version__) + version = hgkw.__version__.version + except ImportError: + version = unknown_version + return version + +def rememberversion(version=None): + if not version and os.path.isdir('.hg'): + # get version from Mercurial + p = os.popen('hg --quiet identify 2> %s' % os.devnull) + ident = p.read()[:-1] + if not p.close() and ident: + if ident[-1] != '+': + version = ident + else: + version = ident[:-1] + version += time.strftime('+%Y%m%d') + if version and version != getversion(): # write version + directory = os.path.dirname(__file__) + for suff in ['py', 'pyc', 'pyo']: + try: + os.unlink(os.path.join(directory, '__version__.%s' % suff)) + except OSError: + pass + f = open(os.path.join(directory, '__version__.py'), 'w') + try: + f.write('# this file is auto-generated\n') + f.write('version = %r\n' % version) + finally: + f.close() + # reload file + getversion(doreload=True) diff -r 6cf933de685a -r 99dc49c5bcfb setup.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/setup.py Thu Feb 08 06:43:15 2007 +0100 @@ -0,0 +1,19 @@ +#!/usr/bin/env python +# $Id$ + +from distutils.core import setup +import hgkw.version + +# specify version, Mercurial version otherwise +version = '' + +hgkw.version.rememberversion(version) + +setup(name='hgkw', + version=hgkw.version.getversion(), + description='Mercurial keyword extension (standalone)', + author='Christian Ebert', + author_email='blacktrash@gmx.net', + license='GNU GPL', + packages=['hgkw'], + )