##// END OF EJS Templates
largefiles: hide .hglf/ prefix for largefiles in hgweb...
largefiles: hide .hglf/ prefix for largefiles in hgweb This makes the manifest view in hgweb match what you see in the working copy and what you get when you download an archive in hgweb.

File last commit:

r13405:682edefe default
r16449:874a680a default
Show More
printenv.py
45 lines | 1.1 KiB | text/x-python | PythonLexer
# simple script to be used in hooks
#
# put something like this in the repo .hg/hgrc:
#
# [hooks]
# changegroup = python "$TESTDIR"/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
try:
import msvcrt
msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY)
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
except ImportError:
pass
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")
# variables with empty values may not exist on all platforms, filter
# them now for portability sake.
env = [k for k, v in os.environ.iteritems()
if k.startswith("HG_") and v]
env.sort()
out.write("%s hook: " % name)
for v in env:
out.write("%s=%s " % (v, os.environ[v]))
out.write("\n")
out.close()
sys.exit(exitcode)