ceea9c4334
The fix against the race incorrectly assumes the sha of the commit being
pushed belongs to the base repository. It finds the highest possible
pull request ID from the head repository instead of looking it up in
the base repository.
Figuring out if a PR was created in the future based on the highest
index of the base repository would require collecting all of them
because there is no way to know in advance which repository may be
involved in the race.
Fixing this race can be done either by:
* Introducing a new field in the pull_request table https://codeberg.org/forgejo/forgejo/pulls/2842
which feels more like a hack than a real solution
* Refactoring the logic
which would be a significant undertaking
The race has been in the codebase for a very long time and manifests
itself in the CI, when events happen in quick succession. The only
concrete manifestation was however fixed by https://codeberg.org/forgejo/forgejo/issues/2009
Since this race now only exists in theory and not in practice, let's
revert this bugous commit until a proper solution is implemented.
Fixes: https://codeberg.org/forgejo/forgejo/issues/2817
This reverts commit
|
||
---|---|---|
.. | ||
assignees.go | ||
assignees_test.go | ||
comment.go | ||
comment_code.go | ||
comment_list.go | ||
comment_test.go | ||
content_history.go | ||
content_history_test.go | ||
dependency.go | ||
dependency_test.go | ||
issue.go | ||
issue_index.go | ||
issue_label.go | ||
issue_label_test.go | ||
issue_list.go | ||
issue_list_test.go | ||
issue_lock.go | ||
issue_project.go | ||
issue_search.go | ||
issue_stats.go | ||
issue_test.go | ||
issue_update.go | ||
issue_user.go | ||
issue_user_test.go | ||
issue_watch.go | ||
issue_watch_test.go | ||
issue_xref.go | ||
issue_xref_test.go | ||
label.go | ||
label_test.go | ||
main_test.go | ||
milestone.go | ||
milestone_list.go | ||
milestone_test.go | ||
pull.go | ||
pull_list.go | ||
pull_test.go | ||
reaction.go | ||
reaction_test.go | ||
review.go | ||
review_list.go | ||
review_test.go | ||
stopwatch.go | ||
stopwatch_test.go | ||
tracked_time.go | ||
tracked_time_test.go |