使用 GitPython 检索两个版本之间更改的所有文件(但我只得到 300)

问题描述 投票:0回答:0

我正在使用 python 库 GitPython 来检索两个版本之间更改的所有文件(实际上只有文件数就可以了)。

这是部分代码:

def compare_versions(self, v1, v2, g, repo_name):
    #calculating the number of files changed between v1 and v2
    try:
        repo = g.get_repo(repo_name)
        comparison = repo.compare(v1, v2)
        changed_files = comparison.files
        print("Changed files: ", str(len(changed_files))) # prompts 300 instead of more than 4000
    except BaseException as be:
        print(f"Base Exception occured for {v1} and {v2} = ", be)

我从这个函数中调用它:

def get_versions_of_repo(self, repo_name):

    # Access token or username and password can be used to access a private repository
    g = Github(self.access_token, per_page=1000)

    print("repo name = ", repo_name)

    # Fetch the repository object using the extracted name
    try:
        repo = g.get_repo(repo_name)
        print("repo")
    except BaseException as be:
        print(be)

    # Get all the releases of the repository
    releases = repo.get_releases()
    print("relases: ", releases)

    v1 = "v25.0.5"
    v2 = "v26.0.0"
    self.compare_versions(v1, v2, g, repo_name)

我只得到文件更改 = 300 但实际上超过 4000 个文件更改,我如何计算所有文件? 有不同的方法吗? 我也试过这个:

#calculating the number of files changed between v1 and v2
        compare_url = self.github_api_url+"/repos/nextcloud/server/compare/v26.0.0beta1...v26.0.0"
        print(compare_url)
        headers = {'Authorization': "Token " + self.access_token}
        response = requests.get(compare_url, headers=headers, auth=(self.api_username, self.access_token))
        c = response.json()
        print(c)

但是再次只检索到 300 个结果。

python github-api gitpython
© www.soinside.com 2019 - 2024. All rights reserved.