##// END OF EJS Templates
merge with default
merge with default

File last commit:

r10282:08a0f04b default
r10543:dd352616 merge stable
Show More
printenv.py
56 lines | 1.5 KiB | text/x-python | PythonLexer
Alexis S. L. Carvalho
Add tests/printenv.py...
r4285 # simple script to be used in hooks
# copy it to the current directory when the test starts:
#
# cp "$TESTDIR"/printenv.py .
#
# put something like this in the repo .hg/hgrc:
#
# [hooks]
# changegroup = python ../printenv.py <hookname> [exit] [output]
#
# - <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()
# edit the variable part of the variable
url = os.environ.get("HG_URL", "")
if url.startswith("file:"):
os.environ["HG_URL"] = "file:"
elif url.startswith("remote:http"):
os.environ["HG_URL"] = "remote:http"
out.write("%s hook: " % name)
for v in env:
Matt Mackall
many, many trivial check-code fixups
r10282 out.write("%s=%s " %
(v, os.environ[v].replace(os.environ["HGTMP"], '$HGTMP')))
Alexis S. L. Carvalho
Add tests/printenv.py...
r4285 out.write("\n")
out.close()
sys.exit(exitcode)