From: Daira Hopwood Date: Tue, 17 Feb 2015 19:10:54 +0000 (+0000) Subject: Explicitly using "git.cmd" on Windows doesn't always work; use shell=True on Windows... X-Git-Tag: allmydata-tahoe-1.10.1a1~69 X-Git-Url: https://git.rkrishnan.org/%5B/frontends/%22file:/%22doc.html/flags/?a=commitdiff_plain;h=19fffc059f266d4fbfe98cec2802093b224152e5;p=tahoe-lafs%2Ftahoe-lafs.git Explicitly using "git.cmd" on Windows doesn't always work; use shell=True on Windows instead. Signed-off-by: Daira Hopwood --- diff --git a/setup.py b/setup.py index 0693e634..d6fe60b9 100644 --- a/setup.py +++ b/setup.py @@ -262,9 +262,9 @@ __version__ = verstr ''' def run_command(args, cwd=None): + use_shell = sys.platform == "win32" try: - # remember shell=False, so use git.cmd on windows, not just git - p = subprocess.Popen(args, stdout=subprocess.PIPE, cwd=cwd) + p = subprocess.Popen(args, stdout=subprocess.PIPE, cwd=cwd, shell=use_shell) except EnvironmentError as e: # if this gives a SyntaxError, note that Tahoe-LAFS requires Python 2.6+ print("Warning: unable to run %r." % (" ".join(args),)) print(e) @@ -303,10 +303,7 @@ def versions_from_git(tag_prefix): print("Warning: unable to find version because we could not obtain the source directory.") print(e) return {} - GIT = "git" - if sys.platform == "win32": - GIT = "git.cmd" - stdout = run_command([GIT, "describe", "--tags", "--dirty", "--always"], + stdout = run_command(["git", "describe", "--tags", "--dirty", "--always"], cwd=source_dir) if stdout is None: # run_command already complained. @@ -321,7 +318,7 @@ def versions_from_git(tag_prefix): else: normalized_version = "%s.post%s" % (pieces[0], pieces[1]) - stdout = run_command([GIT, "rev-parse", "HEAD"], cwd=source_dir) + stdout = run_command(["git", "rev-parse", "HEAD"], cwd=source_dir) if stdout is None: # run_command already complained. return {} @@ -331,7 +328,7 @@ def versions_from_git(tag_prefix): normalized_version += ".dev0" # Thanks to Jistanidiot at . - stdout = run_command([GIT, "rev-parse", "--abbrev-ref", "HEAD"], cwd=source_dir) + stdout = run_command(["git", "rev-parse", "--abbrev-ref", "HEAD"], cwd=source_dir) branch = (stdout or "unknown").strip() return {"version": version, "normalized": normalized_version, "full": full, "branch": branch}