logexchange: convert paths to unix when detecting the active path
This fixes the problem in the tests[1] where Windows was showing the whole path
as the remotename for local repositories.
Somebody with a better understanding of this extension should probably take a
deeper look. There may be other cases that need to be converted- specifically
the `elif not instance` and the missing `else` cases in activepath(). I also
noticed when adding debug prints that the absolute path is stored in the file,
probably not normalized. (It's wrapped up in $TESTTMP.)
[1] https://buildbot.mercurial-scm.org/builders/Win7%20x86_64%20hg%20tests/builds/1042/steps/run-tests.py%20%28python%202.7.13%29/logs/stdio
#require test-repo
$ . "$TESTDIR/helpers-testrepo.sh"
$ cd "`dirname "$TESTDIR"`"
look for python scripts that do not use /usr/bin/env
$ testrepohg files 'set:grep(r"^#!.*?python") and not grep(r"^#!/usr/bi{1}n/env python") - **/*.t'
[1]
In tests, enforce $PYTHON and *not* /usr/bin/env python or similar:
$ testrepohg files 'set:grep(r"#!.*?python") and **/*.t' \
> -X tests/test-check-execute.t \
> -X tests/test-check-module-imports.t \
> -X tests/test-check-pyflakes.t \
> -X tests/test-check-shbang.t
[1]
The above exclusions are because they're looking for files that
contain Python but don't end in .py - please avoid adding more.
look for shell scripts that do not use /bin/sh
$ testrepohg files 'set:grep(r"^#!.*/bi{1}n/sh") and not grep(r"^#!/bi{1}n/sh")'
[1]