Mercurial > hg
view tests/printenv.py @ 5534:61c230f81068
mq: avoid qnew committing everything on invalid paths (issue 803)
If paths are supplied but resolve to nothing, localrepo.commit() is called with an empty set and commits the whole dirstate. Avoid this by passing the match function to commit.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Tue, 20 Nov 2007 14:31:58 +0100 |
parents | 7a7d4937272b |
children | a6477aa893b8 |
line wrap: on
line source
# 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 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() # 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: out.write("%s=%s " % (v, os.environ[v])) out.write("\n") out.close() sys.exit(exitcode)