##// END OF EJS Templates
Add tests/printenv.py...
Alexis S. L. Carvalho -
r4285:4fd6f7e6 default
parent child Browse files
Show More
@@ -0,0 +1,44 b''
1 # simple script to be used in hooks
2 # copy it to the current directory when the test starts:
3 #
4 # cp "$TESTDIR"/printenv.py .
5 #
6 # put something like this in the repo .hg/hgrc:
7 #
8 # [hooks]
9 # changegroup = python ../printenv.py <hookname> [exit] [output]
10 #
11 # - <hookname> is a mandatory argument (e.g. "changegroup")
12 # - [exit] is the exit code of the hook (default: 0)
13 # - [output] is the name of the output file (default: use sys.stdout)
14 # the file will be opened in append mode.
15 #
16 import os
17 import sys
18
19 exitcode = 0
20 out = sys.stdout
21
22 name = sys.argv[1]
23 if len(sys.argv) > 2:
24 exitcode = int(sys.argv[2])
25 if len(sys.argv) > 3:
26 out = open(sys.argv[3], "ab")
27
28 env = [v for v in os.environ if v.startswith("HG_")]
29 env.sort()
30
31 # edit the variable part of the variable
32 url = os.environ.get("HG_URL", "")
33 if url.startswith("file:"):
34 os.environ["HG_URL"] = "file:"
35 elif url.startswith("remote:http"):
36 os.environ["HG_URL"] = "remote:http"
37
38 out.write("%s hook: " % name)
39 for v in env:
40 out.write("%s=%s " % (v, os.environ[v]))
41 out.write("\n")
42 out.close()
43
44 sys.exit(exitcode)
General Comments 0
You need to be logged in to leave comments. Login now