setup.py
author Christian Ebert <blacktrash@gmx.net>
Sat, 09 Oct 2010 11:33:04 +0100
changeset 813 9d01f9cab5e2
parent 238 e4a389eca1b9
permissions -rw-r--r--
Refactor kwtemplater.overwrite() Make kwexpand, kwshrink restricted commands - i.e. read from filelog without expansion for substition in kwtemplater.overwrite, and set/unset restricted mode for overwrite() in in kwcommitctx and the dorecord wrapper. Preselect candidates when working on changed files (rollback, record) outside kwtemplater class, and remove 6th argument from overwrite(). Avoid duplicate substitution/search in overwrite(): Only go into restricted read mode when reading from filelog. rollback and record read from the working directory, where restricted mode would already shrink keywords before overwrite() either expands or shrinks them again. This ensures that the usual automatic operations on keywords are turned off during overwrite() and only overwrite() itself acts on them. Reduce manifest calculation to the cases where it is needed. Move helper function for expansion removal outside kwtemplater class.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
124
99dc49c5bcfb Setup standalone module install, version tracking
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     1
#!/usr/bin/env python
99dc49c5bcfb Setup standalone module install, version tracking
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     2
# $Id$
99dc49c5bcfb Setup standalone module install, version tracking
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     3
99dc49c5bcfb Setup standalone module install, version tracking
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     4
from distutils.core import setup
238
e4a389eca1b9 Move version code into setup.py
Christian Ebert <blacktrash@gmx.net>
parents: 219
diff changeset
     5
import os, time
124
99dc49c5bcfb Setup standalone module install, version tracking
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     6
99dc49c5bcfb Setup standalone module install, version tracking
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     7
# specify version, Mercurial version otherwise
99dc49c5bcfb Setup standalone module install, version tracking
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     8
version = ''
99dc49c5bcfb Setup standalone module install, version tracking
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
     9
238
e4a389eca1b9 Move version code into setup.py
Christian Ebert <blacktrash@gmx.net>
parents: 219
diff changeset
    10
unknown_version = 'unknown'
e4a389eca1b9 Move version code into setup.py
Christian Ebert <blacktrash@gmx.net>
parents: 219
diff changeset
    11
e4a389eca1b9 Move version code into setup.py
Christian Ebert <blacktrash@gmx.net>
parents: 219
diff changeset
    12
def getversion():
e4a389eca1b9 Move version code into setup.py
Christian Ebert <blacktrash@gmx.net>
parents: 219
diff changeset
    13
    global version, unknown_version
e4a389eca1b9 Move version code into setup.py
Christian Ebert <blacktrash@gmx.net>
parents: 219
diff changeset
    14
    if not version and os.path.isdir('.hg'):
e4a389eca1b9 Move version code into setup.py
Christian Ebert <blacktrash@gmx.net>
parents: 219
diff changeset
    15
        p = os.popen('hg --quiet identify 2> %s' % os.devnull)
e4a389eca1b9 Move version code into setup.py
Christian Ebert <blacktrash@gmx.net>
parents: 219
diff changeset
    16
        ident = p.read()[:-1]
e4a389eca1b9 Move version code into setup.py
Christian Ebert <blacktrash@gmx.net>
parents: 219
diff changeset
    17
        if not p.close() and ident:
e4a389eca1b9 Move version code into setup.py
Christian Ebert <blacktrash@gmx.net>
parents: 219
diff changeset
    18
            if ident[-1] != '+':
e4a389eca1b9 Move version code into setup.py
Christian Ebert <blacktrash@gmx.net>
parents: 219
diff changeset
    19
                version = ident
e4a389eca1b9 Move version code into setup.py
Christian Ebert <blacktrash@gmx.net>
parents: 219
diff changeset
    20
            else:
e4a389eca1b9 Move version code into setup.py
Christian Ebert <blacktrash@gmx.net>
parents: 219
diff changeset
    21
                version = ident[:-1]
e4a389eca1b9 Move version code into setup.py
Christian Ebert <blacktrash@gmx.net>
parents: 219
diff changeset
    22
                version += time.strftime('+%Y%m%d')
e4a389eca1b9 Move version code into setup.py
Christian Ebert <blacktrash@gmx.net>
parents: 219
diff changeset
    23
    return version or unknown_version
124
99dc49c5bcfb Setup standalone module install, version tracking
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    24
99dc49c5bcfb Setup standalone module install, version tracking
Christian Ebert <blacktrash@gmx.net>
parents:
diff changeset
    25
setup(name='hgkw',
238
e4a389eca1b9 Move version code into setup.py
Christian Ebert <blacktrash@gmx.net>
parents: 219
diff changeset
    26
      version=getversion(),
219
405a9c1dc7bf setup: add url, reformat
Christian Ebert <blacktrash@gmx.net>
parents: 124
diff changeset
    27
      description='Mercurial keyword extension (standalone)',
405a9c1dc7bf setup: add url, reformat
Christian Ebert <blacktrash@gmx.net>
parents: 124
diff changeset
    28
      author='Christian Ebert',
405a9c1dc7bf setup: add url, reformat
Christian Ebert <blacktrash@gmx.net>
parents: 124
diff changeset
    29
      author_email='blacktrash@gmx.net',
405a9c1dc7bf setup: add url, reformat
Christian Ebert <blacktrash@gmx.net>
parents: 124
diff changeset
    30
      url='http://www.blacktrash.org/hg/hgkeyword/',
405a9c1dc7bf setup: add url, reformat
Christian Ebert <blacktrash@gmx.net>
parents: 124
diff changeset
    31
      license='GNU GPL',
405a9c1dc7bf setup: add url, reformat
Christian Ebert <blacktrash@gmx.net>
parents: 124
diff changeset
    32
      packages=['hgkw'])