##// END OF EJS Templates
wix: add help for current internal topics...
wix: add help for current internal topics This makes the changes in a79cba6cb206 and 84784f834b3a available on Windows. I'm not setup to make the installer, so someone with experience in this area should probably give it a look. In looking around to try to figure out how to build the installer, it looks like the Makefile may need an update to $DOCFILES.

File last commit:

r27684:e9857fbf default
r27684:e9857fbf default
Show More
test-install.t
111 lines | 3.3 KiB | text/troff | Tads3Lexer
hg debuginstall
$ hg debuginstall
checking encoding (ascii)...
checking Python executable (*) (glob)
checking Python version (2.*) (glob)
checking Python lib (*lib*)... (glob)
checking installed modules (*mercurial)... (glob)
checking templates (*mercurial?templates)... (glob)
checking commit editor...
checking username...
no problems detected
hg debuginstall with no username
$ HGUSER= hg debuginstall
checking encoding (ascii)...
checking Python executable (*) (glob)
checking Python version (2.*) (glob)
checking Python lib (*lib*)... (glob)
checking installed modules (*mercurial)... (glob)
checking templates (*mercurial?templates)... (glob)
checking commit editor...
checking username...
no username supplied
(specify a username in your configuration file)
1 problems detected, please check your install!
[1]
path variables are expanded (~ is the same as $TESTTMP)
$ mkdir tools
$ touch tools/testeditor.exe
#if execbit
$ chmod 755 tools/testeditor.exe
#endif
$ hg debuginstall --config ui.editor=~/tools/testeditor.exe
checking encoding (ascii)...
checking Python executable (*) (glob)
checking Python version (*) (glob)
checking Python lib (*lib*)... (glob)
checking installed modules (*mercurial)... (glob)
checking templates (*mercurial?templates)... (glob)
checking commit editor...
checking username...
no problems detected
#if test-repo
$ cat >> wixxml.py << EOF
> import os, subprocess, sys
> import xml.etree.ElementTree as ET
>
> # MSYS mangles the path if it expands $TESTDIR
> testdir = os.environ['TESTDIR']
> ns = {'wix' : 'http://schemas.microsoft.com/wix/2006/wi'}
>
> def directory(node, relpath):
> '''generator of files in the xml node, rooted at relpath'''
> dirs = node.findall('./{%(wix)s}Directory' % ns)
>
> for d in dirs:
> for subfile in directory(d, relpath + d.attrib['Name'] + '/'):
> yield subfile
>
> files = node.findall('./{%(wix)s}Component/{%(wix)s}File' % ns)
>
> for f in files:
> yield relpath + f.attrib['Name']
>
> def hgdirectory(relpath):
> '''generator of tracked files, rooted at relpath'''
> hgdir = "%s/../mercurial" % (testdir)
> args = ['hg', '--cwd', hgdir, 'files', relpath]
> proc = subprocess.Popen(args, stdout=subprocess.PIPE,
> stderr=subprocess.PIPE)
> output = proc.communicate()[0]
>
> slash = '/'
> for line in output.splitlines():
> if os.name == 'nt':
> yield line.replace(os.sep, slash)
> else:
> yield line
>
> tracked = [f for f in hgdirectory(sys.argv[1])]
>
> xml = ET.parse("%s/../contrib/wix/%s.wxs" % (testdir, sys.argv[1]))
> root = xml.getroot()
> dir = root.find('.//{%(wix)s}DirectoryRef' % ns)
>
> installed = [f for f in directory(dir, '')]
>
> print('Not installed:')
> for f in sorted(set(tracked) - set(installed)):
> print(' %s' % f)
>
> print('Not tracked:')
> for f in sorted(set(installed) - set(tracked)):
> print(' %s' % f)
> EOF
$ python wixxml.py help
Not installed:
help/common.txt
help/hg.1.txt
help/hgignore.5.txt
help/hgrc.5.txt
Not tracked:
$ python wixxml.py templates
Not installed:
Not tracked:
#endif