aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/common.py')
-rw-r--r--scripts/common.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/scripts/common.py b/scripts/common.py
index db97ea35616..5bb52633f8c 100644
--- a/scripts/common.py
+++ b/scripts/common.py
@@ -40,6 +40,33 @@ def is_linux_platform():
def is_mac_platform():
return sys.platform.startswith('darwin')
+def check_print_call(command, workdir):
+ print('------------------------------------------')
+ print('COMMAND:')
+ print(' '.join(['"' + c.replace('"', '\\"') + '"' for c in command]))
+ print('PWD: "' + workdir + '"')
+ print('------------------------------------------')
+ subprocess.check_call(command, cwd=workdir)
+
+
+def get_git_SHA(path):
+ try:
+ return subprocess.check_output(['git', 'rev-list', '-n1', 'HEAD'], cwd=path).strip()
+ except subprocess.CalledProcessError:
+ return None
+ return None
+
+
+# get commit SHA either directly from git, or from a .tag file in the source directory
+def get_commit_SHA(path):
+ git_sha = get_git_SHA(path)
+ if not git_sha:
+ tagfile = os.path.join(path, '.tag')
+ if os.path.exists(tagfile):
+ with open(tagfile, 'r') as f:
+ git_sha = f.read().strip()
+ return git_sha
+
# copy of shutil.copytree that does not bail out if the target directory already exists
# and that does not create empty directories
def copytree(src, dst, symlinks=False, ignore=None):