def _scanDir(self, workspace, dir):
self.__dir = dir
dir = os.path.join(workspace, dir)
try:
remotes = subprocess.check_output(["git", "remote", "-v"],
cwd=dir, universal_newlines=True).split("\n")
remotes = (r[:-8].split("\t") for r in remotes if r.endswith("(fetch)"))
self.__remotes = { remote:url for (remote,url) in remotes }
self.__commit = subprocess.check_output(["git", "rev-parse", "HEAD"],
cwd=dir, universal_newlines=True).strip()
self.__description = subprocess.check_output(
["git", "describe", "--always", "--dirty"],
cwd=dir, universal_newlines=True).strip()
self.__dirty = subprocess.call(["git", "diff-index", "--quiet", "HEAD", "--"],
cwd=dir) != 0
except subprocess.CalledProcessError as e:
raise BuildError("Git audit failed: " + str(e))
except OSError as e:
raise BuildError("Error calling git: " + str(e))
评论列表
文章目录