Python 使用cdk获取两个分支(codecommit)之间的所有CommitID
我想得到两个分支之间的所有佣金,但我只得到它们之间的第一个和最后一个佣金 这就是我到目前为止的收获:Python 使用cdk获取两个分支(codecommit)之间的所有CommitID,python,amazon-web-services,aws-cdk,Python,Amazon Web Services,Aws Cdk,我想得到两个分支之间的所有佣金,但我只得到它们之间的第一个和最后一个佣金 这就是我到目前为止的收获: difference = client.get_differences( repositoryName=repo_name, beforeCommitSpecifier=main_branch_name, afterCommitSpecifier=dev_branch_name ) print("difference betwee
difference = client.get_differences(
repositoryName=repo_name,
beforeCommitSpecifier=main_branch_name,
afterCommitSpecifier=dev_branch_name
)
print("difference between branch "+ dev_branch_name + " and "+main_branch_name )
print(difference)
differences = difference['differences']
for diff in differences:
print("diff")
print("afterBlob")
if 'afterBlob' in diff:
after_or_before_blob = diff['afterBlob']
if 'beforeBlob' in diff:
after_or_before_blob = diff['beforeBlob']
print(after_or_before_blob['blobId'])
blob = client.get_blob(
repositoryName=repo_name,
blobId=after_or_before_blob['blobId']
)
print("after_blob 1:")
print(blob)
我还尝试使用git解决这个问题,例如git diff,但这段代码应该放在AWS Lambda中,git remote codecommit对我不起作用
什么能解决我的问题?我找到了一个适合我需要的答案,尽管有点慢 我在错误的地方寻找答案。差异只是显示文件中的差异,而不是提交本身 因此,我递归地使用GetCommit和给定的ParentId
def get_list_of_commits(self, client, main_commit_id, repo_name, list_commit_ids=[], list_commits=[]):
commit_main = client.get_commit(
repositoryName=repo_name,
commitId=main_commit_id
)
parents = commit_main['commit']['parents']
for parent in parents:
self.get_list_of_commits(client, parent, repo_name, list_commit_ids, list_commits)
commit = commit_main['commit']
if main_commit_id not in list_commit_ids:
list_commit_ids.append(main_commit_id)
list_commits.append(commit)
return list_commit_ids, list_commits
如果有人知道更好的答案,我会很高兴听到