Cache git executable search into a variable. This helps reduce noise in the verbose debug logging output messages when EMSDK_VERBOSE=1 is enabled.
diff --git a/emsdk.py b/emsdk.py
index e618e37..e87f9c7 100644
--- a/emsdk.py
+++ b/emsdk.py
@@ -734,12 +734,15 @@
stdout, stderr = process.communicate()
return (process.returncode, stdout, stderr)
+cached_git_executable = None
# must_succeed: If false, the search is performed silently without printing out
# errors if not found. Empty string is returned if git is not found.
# If true, the search is required to succeed, and the execution
# will terminate with sys.exit(1) if not found.
def GIT(must_succeed=True):
+ if cached_git_executable is not None:
+ return cached_git_executable
# The order in the following is important, and specifies the preferred order
# of using the git tools. Primarily use git from emsdk if installed. If not,
# use system git.
@@ -748,6 +751,7 @@
try:
ret, stdout, stderr = run_get_output([git, '--version'])
if ret == 0:
+ cached_git_executable = git
return git
except:
pass