##// END OF EJS Templates
i18n: use UTF-8 string to lower filename for case collision check...
i18n: use UTF-8 string to lower filename for case collision check Some character sets, cp932 (known as Shift-JIS for Japanese) for example, use 0x41('A') - 0x5A('Z') and 0x61('a') - 0x7A('z') as second or later character. In such character set, case collision checking recognizes different files as CASEFOLDED same file, if filenames are treated as byte sequence. win32mbcs extension is not appropriate to handle this problem, because this problem can occur on other than Windows platform only if problematic character set is used. Callers of util.checkcase() use known ASCII filenames as last component of path, and string.lower() is not applied to directory part of path. So, util.checkcase() is kept intact, even though it applies string.lower() to filenames.

File last commit:

r13405:682edefe default
r14980:28e98a8b stable
Show More
printenv.py
45 lines | 1.1 KiB | text/x-python | PythonLexer
Alexis S. L. Carvalho
Add tests/printenv.py...
r4285 # simple script to be used in hooks
#
# put something like this in the repo .hg/hgrc:
#
# [hooks]
Mads Kiilerich
tests: use printenv.py where it is - don't copy it around
r13405 # changegroup = python "$TESTDIR"/printenv.py <hookname> [exit] [output]
Alexis S. L. Carvalho
Add tests/printenv.py...
r4285 #
# - <hookname> is a mandatory argument (e.g. "changegroup")
# - [exit] is the exit code of the hook (default: 0)
# - [output] is the name of the output file (default: use sys.stdout)
# the file will be opened in append mode.
#
import os
import sys
Patrick Mezard
tests: Windows compatibility fixes...
r7080 try:
import msvcrt
msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY)
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
Dirkjan Ochtman
clean up trailing spaces, leading spaces in C
r7186 msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
Patrick Mezard
tests: Windows compatibility fixes...
r7080 except ImportError:
pass
Alexis S. L. Carvalho
Add tests/printenv.py...
r4285 exitcode = 0
out = sys.stdout
name = sys.argv[1]
if len(sys.argv) > 2:
exitcode = int(sys.argv[2])
if len(sys.argv) > 3:
out = open(sys.argv[3], "ab")
Patrick Mezard
printenv: filter empty environment variables for portability.
r4643 # variables with empty values may not exist on all platforms, filter
# them now for portability sake.
Thomas Arendsen Hein
Kill trailing spaces
r4659 env = [k for k, v in os.environ.iteritems()
Patrick Mezard
printenv: filter empty environment variables for portability.
r4643 if k.startswith("HG_") and v]
Alexis S. L. Carvalho
Add tests/printenv.py...
r4285 env.sort()
out.write("%s hook: " % name)
for v in env:
Mads Kiilerich
tests: remove the last traces of $HGTMP...
r12642 out.write("%s=%s " % (v, os.environ[v]))
Alexis S. L. Carvalho
Add tests/printenv.py...
r4285 out.write("\n")
out.close()
sys.exit(exitcode)