本文整理汇总了Python中git.Git.ls_files方法的典型用法代码示例。如果您正苦于以下问题:Python Git.ls_files方法的具体用法?Python Git.ls_files怎么用?Python Git.ls_files使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类git.Git
的用法示例。
在下文中一共展示了Git.ls_files方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: generate
# 需要导入模块: from git import Git [as 别名]
# 或者: from git.Git import ls_files [as 别名]
def generate(env, **kwargs):
# Grab the existing decider functions out of the environment
# so we can invoke them when we can't use Git.
base_decider = env.decide_target
if (base_decider != env.decide_source):
raise Exception("Decider environment seems broken")
from git import Git
thisRepo = Git(env.Dir('#').abspath)
currentGitState = thisRepo.ls_files('--stage')
lines = currentGitState.split('\n')
file_sha1_map = {}
for line in lines:
line_content = line.split()
file_sha1_map[env.File(line_content[3]).path] = line_content[1]
for m in thisRepo.ls_files('-m').split('\n'):
if (m):
del file_sha1_map[env.File(m).path]
def is_known_to_git(dependency):
return str(dependency) in file_sha1_map
def git_says_file_is_up_to_date(dependency, prev_ni):
gitInfoForDep = file_sha1_map[str(dependency)]
if prev_ni is None:
dependency.get_ninfo().csig = gitInfoForDep
return False
if not (hasattr(prev_ni, 'csig')):
prev_ni.csig = gitInfoForDep
result = gitInfoForDep == prev_ni.csig
return result
def MongoGitDecider(dependency, target, prev_ni):
if not is_known_to_git(dependency):
return base_decider(dependency, target, prev_ni)
return not git_says_file_is_up_to_date(dependency, prev_ni)
env.Decider(MongoGitDecider)
示例2: deploy
# 需要导入模块: from git import Git [as 别名]
# 或者: from git.Git import ls_files [as 别名]
def deploy(self, commit, config):
# diff between commit id and local repo's last pushed commit
if self.commit is not None:
diff = self.commit.diff(commit)
self.deploy_diff(diff, config)
else:
g = Git( config.path )
self.deploy_tree(g.ls_files().split("\n"), config)
# update .commit file in target target_dir
self.write_new_file(self.COMMIT_FILE, commit.hexsha)
# delete lock file
self.delete_file(self.LOCK_FILE)
return True