Mercurial > hg
view contrib/convert-repo @ 16897:2774576dee4d
tests/run-tests: avoid C:/ in arguments
MSYS replaces C:/... in arguments with C;... as it interprets the C:/ as a
colon separated POSIX path list. The colon is replaced with ; (path separator
on Windows) according to
http://www.mingw.org/wiki/Posix_path_conversion
So we must not replace \ with / for neither $TESTTMP nor $TESTDIR, but we
have to keep replacing \ with / for the Popen4 call of function hghave. If we
don't do the latter, test-run-tests.t will fail with
$ python run-tests.py --local test-run-tests.t
--- C:\Users\adi\hgrepos\hg-main\tests\test-run-tests.t
+++ C:\Users\adi\hgrepos\hg-main\tests\test-run-tests.t.err
@@ -70,6 +70,7 @@
tested
#else
$ echo skipped
+ skipped
#endif
#if false
An additional tweak in test-ssh.t is needed that globs away an encoded path,
as it can't be translated back to $TESTTMP, because the backslashes in the
output have been already encoded as %5C.
This patch makes test-ssh.t pass in MSYS on Windows.
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Sun, 10 Jun 2012 03:05:59 +0200 |
parents | 1d3eb332f3cb |
children |
line wrap: on
line source
#!/usr/bin/env python # # Wrapper script around the convert.py hgext extension # for foreign SCM conversion to mercurial format. # import sys from mercurial import ui, fancyopts from hgext import convert # Options extracted from the cmdtable func, options, help = convert.cmdtable['convert'] # An ui instance u = ui.ui() opts = {} args = [] try: args = list(fancyopts.fancyopts(sys.argv[1:], options, opts)) args += [None]*(3 - len(args)) src, dest, revmapfile = args except (fancyopts.getopt.GetoptError, ValueError), inst: u.warn('Usage:\n%s\n' % help) sys.exit(-1) convert.convert(u, src, dest, revmapfile, **opts)