This happens on GitLab Community Edition 14.2.1. I have a project and thus repository which is quite simple (just main branch, sequential commits produced by scripts). However due to some mishap one of the scripts produced a large amount (around 40k) of superfluous commits that interleave with valid commits.After taking the script off-line we had to do interactive rebase to get rid of all the redundant commits. Apart from git push --force
taking a lot of time this went very well. By that I mean repository commits view shows what it is supposed to show (at least it is consistent with what git log
shows).The problem is with API and to be more precise with /projects/:id/repository/commits?all=true
endpoint. As you might have guessed, among returned commits, we get the removed commits. If we use web_url
from the removed commit, we can get to commit view and it renders correctly. Yet it is still unreachable from repository commits view, because it shows only what git log
shows.
It would be great if somebody can point out if this is know behaviour or a potential bug that needs to be reported.