Repository metrics
- Stars
- (12,040 stars)
- PR merge metrics
- (PR metrics pending)
Description
Describe the issue
The current approach to associate commits with the pull requests is the following:
- Fetch the commits.
- Fetch the pull requests.
- Check if the
merge_commit_shaof the pull request matches the SHA of the commit.
github_commits.for_each(|commit| {
let pull_request = github_pull_requests
.iter()
.find(|pr| pr.merge_commit_sha == Some(commit.sha.clone()));
});
This poses a couple of problems when the pull request is not squashed but rebased.
Take #360 for example (it is rebased). git cliff -c github outputs:
* fix: allow version bump with a single previous release by @orhun in #360
* fix: allow version bump with a single previous release by @nappa85
However, it should be:
* fix: allow version bump with a single previous release by @nappa85 in #360
Additional context
I don't know how to fix this yet since it is the limitation of the data we get from the GitHub API. In the perfect world, /commits endpoint would also return the associated pull request number so that we don't need to fetch the pull requests and do some hacky comparison.
Alternatively, we could use <commit>/pull API but that just means sending a request for each commit which adds up to a lot.