tests/test-hybridencode.py
author Jeremy Whitlock <jcscoobyrs@gmail.com>
Thu, 02 Apr 2009 18:18:43 -0600
changeset 7958 73fa2be69ea9
parent 7515 ee5aba886108
child 8659 1a6d702e059d
permissions -rwxr-xr-x
Fix how setup.py identifies the Mercurial version. There is a problem with setup.py where it will not identify the Mercurial version properly when not being ran in within a repository even if mercurial/__version__.py exists. To fix, use mercurial.__version__.version when available before defaulting to "unknown". (Using mercurial.util.version() is not an option due to a dependency issue where osutil can be referenced before it is built.)

#!/usr/bin/env python

from mercurial import store

enc = store.hybridencode # used for fncache repo format

def show(s):
    print "A = '%s'" % s
    print "B = '%s'" % enc(s)
    print

show('data/aux.bla/bla.aux/prn/PRN/lpt/com3/nul/coma/foo.NUL/normal.c.i')

show('data/AUX/SECOND/X.PRN/FOURTH/FI:FTH/SIXTH/SEVENTH/EIGHTH/NINETH/TENTH/ELEVENTH/LOREMIPSUM.TXT.i')
show('data/enterprise/openesbaddons/contrib-imola/corba-bc/netbeansplugin/wsdlExtension/src/main/java/META-INF/services/org.netbeans.modules.xml.wsdl.bindingsupport.spi.ExtensibilityElementTemplateProvider.i')
show('data/AUX.THE-QUICK-BROWN-FOX-JU:MPS-OVER-THE-LAZY-DOG-THE-QUICK-BROWN-FOX-JUMPS-OVER-THE-LAZY-DOG.TXT.i')
show('data/Project Planning/Resources/AnotherLongDirectoryName/Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt')
show('data/Project.Planning/Resources/AnotherLongDirectoryName/Followedbyanother/AndAnother/AndThenAnExtremelyLongFileName.txt')
show('data/foo.../foo   / /a./_. /__/.x../    bla/something.i')