def _compute_local_hash(self): git_tree_in = check_output( ['git', 'log', '-n1', '--pretty=format:%T', 'HEAD', '--'], cwd=self._buck_dir).strip() with EmptyTempFile(prefix='buck-git-index', dir=self._tmp_dir) as index_file: new_environ = os.environ.copy() new_environ['GIT_INDEX_FILE'] = index_file.name subprocess.check_call( ['git', 'read-tree', git_tree_in], cwd=self._buck_dir, env=new_environ) subprocess.check_call( ['git', 'add', '-u'], cwd=self._buck_dir, env=new_environ) git_tree_out = check_output( ['git', 'write-tree'], cwd=self._buck_dir, env=new_environ).strip() with EmptyTempFile(prefix='buck-version-uid-input', dir=self._tmp_dir, closed=False) as uid_input: subprocess.check_call( ['git', 'ls-tree', '--full-tree', git_tree_out], cwd=self._buck_dir, stdout=uid_input) return check_output( ['git', 'hash-object', uid_input.name], cwd=self._buck_dir).strip()
def _compute_local_hash(self): git_tree_in = check_output( ['git', 'log', '-n1', '--pretty=format:%T', 'HEAD', '--'], cwd=self._buck_dir).strip() with EmptyTempFile(prefix='buck-git-index', dir=self._tmp_dir) as index_file: new_environ = os.environ.copy() new_environ['GIT_INDEX_FILE'] = index_file.name subprocess.check_call(['git', 'read-tree', git_tree_in], cwd=self._buck_dir, env=new_environ) subprocess.check_call(['git', 'add', '-u'], cwd=self._buck_dir, env=new_environ) git_tree_out = check_output(['git', 'write-tree'], cwd=self._buck_dir, env=new_environ).strip() with EmptyTempFile(prefix='buck-version-uid-input', dir=self._tmp_dir, closed=False) as uid_input: subprocess.check_call( ['git', 'ls-tree', '--full-tree', git_tree_out], cwd=self._buck_dir, stdout=uid_input) return check_output(['git', 'hash-object', uid_input.name], cwd=self._buck_dir).strip()
def _get_git_commit_timestamp(self): if self._is_buck_repo_dirty_override or not self._is_git: return -1 return check_output( ['git', 'log', '--pretty=format:%ct', '-1', 'HEAD', '--'], cwd=self._buck_dir).strip()
def _get_git_revision(self): if not self._is_git: return 'N/A' output = check_output(['git', 'rev-parse', 'HEAD', '--'], cwd=self._buck_dir) return output.splitlines()[0].strip()
def _has_local_changes(self): if not self._is_git: return False output = check_output( ['git', 'ls-files', '-m'], cwd=self._buck_dir) return bool(output.strip())
def _get_git_revision(self): if not self._is_git: return 'N/A' output = check_output( ['git', 'rev-parse', 'HEAD', '--'], cwd=self._buck_dir) return output.splitlines()[0].strip()
def _is_dirty(self): if self._is_buck_repo_dirty_override: return self._is_buck_repo_dirty_override == "1" if not self._is_git: return False output = check_output(['git', 'status', '--porcelain'], cwd=self._buck_dir) return bool(output.strip())
def _is_dirty(self): if self._is_buck_repo_dirty_override: return self._is_buck_repo_dirty_override == "1" if not self._is_git: return False output = check_output( ['git', 'status', '--porcelain'], cwd=self._buck_dir) return bool(output.strip())
def _has_local_changes(self): if not self._is_git: return False output = check_output(["git", "ls-files", "-m"], cwd=self._buck_dir) return bool(output.strip())