当前位置: 首页>>代码示例>>Python>>正文


Python Git.ls_files方法代码示例

本文整理汇总了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)
开发者ID:acmorrow,项目名称:mongo,代码行数:46,代码来源:git_decider.py

示例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
开发者ID:TomHanra,项目名称:git-deployment,代码行数:16,代码来源:git_incremental_deploy.py


注:本文中的git.Git.ls_files方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。