Beyond coding. We forge. https://forgejo.org
Find a file
Earl Warren ceea9c4334
Revert "avoid superfluous synchronized pull_request run when opening a PR"
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 036f1eddc5.

Conflicts:
	services/pull/pull.go
2024-03-28 07:08:17 +01:00
.devcontainer Switch to the maintained vitest extension (#29914) 2024-03-26 19:04:25 +01:00
.forgejo Update ghcr.io/visualon/renovate Docker tag to v37.272.0 2024-03-27 07:32:23 +00:00
.gitea pull_request_template: test/needed label 2024-03-22 10:11:47 +01:00
assets [DEPS] Bump mysql driver 2024-03-10 14:57:56 +01:00
build move some scripts from 'build' to 'tools' directory, misc refactors (#29844) 2024-03-26 19:04:25 +01:00
cmd Fix must-change-password help dialog 2024-03-17 12:08:27 +01:00
contrib Merge branch 'rebase-forgejo-dependency' into wip-forgejo 2024-02-05 18:58:23 +01:00
custom/conf add skip ci support for pull request title (#29774) 2024-03-20 06:07:50 +01:00
docker [BRANDING] cosmetic s/Gitea/Forgejo/ in logs, messages, etc. 2024-02-05 16:02:14 +01:00
docs Replace 10 more gt- classes with tw- (#29945) 2024-03-26 19:04:27 +01:00
manual-testing@877d11b403 [TESTS] add manual testing instructions as a sub-module 2024-02-08 11:43:43 +01:00
models Revert "avoid superfluous synchronized pull_request run when opening a PR" 2024-03-28 07:08:17 +01:00
modules [REFACTOR] simplify checkHookType 2024-03-27 22:26:55 +01:00
options Merge pull request 'Improve localization of repo summary' (#2756) from 0ko/forgejo:i18n-repository-summary into forgejo 2024-03-27 13:35:54 +00:00
public Customizable "Open with" applications for repository clone (#29320) 2024-03-23 11:58:54 +01:00
releases/images [DOCS] RELEASE-NOTES.md 2024-02-05 14:44:32 +01:00
routers [REFACTOR] webhook repo naming consistency 2024-03-27 22:26:55 +01:00
services Revert "avoid superfluous synchronized pull_request run when opening a PR" 2024-03-28 07:08:17 +01:00
templates [REFACTOR] webhook move edit endpoints 2024-03-27 22:26:55 +01:00
tests Revert "avoid superfluous synchronized pull_request run when opening a PR" 2024-03-28 07:08:17 +01:00
tools Enforce trailing comma in JS on multiline (#30002) 2024-03-26 19:04:27 +01:00
web_src Refactor repo header/list (#29969) 2024-03-27 09:22:24 +01:00
.air.toml Exclude routers/private/tests from air (#29949) 2024-03-26 19:04:26 +01:00
.changelog.yml Adapt .changelog.yml to new labeling system (#27701) 2023-10-20 00:22:00 +02:00
.deadcode-out Merge pull request '[REFACTOR] webhook.Handler interface' (#2758) from oliverpool/forgejo:webhook_2_interface into forgejo 2024-03-27 13:45:04 +00:00
.dockerignore move some scripts from 'build' to 'tools' directory, misc refactors (#29844) 2024-03-26 19:04:25 +01:00
.editorconfig
.eslintrc.yaml Enforce trailing comma in JS on multiline (#30002) 2024-03-26 19:04:27 +01:00
.gitattributes [META] Use correct language for .tmpl 2024-02-05 14:44:33 +01:00
.gitignore move some scripts from 'build' to 'tools' directory, misc refactors (#29844) 2024-03-26 19:04:25 +01:00
.gitmodules [TESTS] add manual testing instructions as a sub-module 2024-02-08 11:43:43 +01:00
.gitpod.yml Switch to the maintained vitest extension (#29914) 2024-03-26 19:04:25 +01:00
.golangci.yml [GITEA] depguard sha256-simd 2024-02-05 16:54:44 +01:00
.ignore Add /public/assets to .ignore (#26232) 2023-07-30 12:34:20 +02:00
.markdownlint.yaml Update JS dependencies (#28537) 2023-12-30 05:29:03 +00:00
.npmrc
.spectral.yaml
.stylelintrc.yaml Enable a few stylelint rules (#30038) 2024-03-26 19:04:28 +01:00
.yamllint.yaml fully replace drone with actions (#27556) 2023-10-11 06:39:32 +00:00
BSDmakefile Fix build errors on BSD (in BSDMakefile) (#27594) 2023-10-13 15:38:27 +00:00
build.go
CHANGELOG.md Fix release link in changelog for v1.21.0 2023-11-14 15:03:49 +01:00
CODEOWNERS [META] Add CODEOWNERS files 2024-02-05 14:44:33 +01:00
CONTRIBUTING.md [DOCS] CONTRIBUTING 2024-02-05 14:44:32 +01:00
DCO
Dockerfile go: upgrade to go v1.22 - Dockerfile* 2024-03-26 06:48:32 +01:00
Dockerfile.rootless go: upgrade to go v1.22 - Dockerfile* 2024-03-26 06:48:32 +01:00
go.mod Update module github.com/klauspost/compress to v1.17.7 2024-03-25 20:07:17 +00:00
go.sum Update module github.com/klauspost/compress to v1.17.7 2024-03-25 20:07:17 +00:00
LICENSE [DOCS] LICENSE: add Forgejo Authors 2024-02-05 14:44:32 +01:00
main.go [RELEASE] decouple the release name from the version number 2024-02-17 15:27:35 +01:00
MAINTAINERS Apply to become a maintainer (#27522) 2023-10-08 10:36:40 -04:00
Makefile remove PATH and GOPATH modification in Makefile (#29978) 2024-03-26 19:04:26 +01:00
package-lock.json Switch to happy-dom for testing (#29948) 2024-03-26 19:04:26 +01:00
package.json Switch to happy-dom for testing (#29948) 2024-03-26 19:04:26 +01:00
playwright.config.js Enforce trailing comma in JS on multiline (#30002) 2024-03-26 19:04:27 +01:00
poetry.lock Update js and py dependencies, bump python (#29561) 2024-03-06 12:10:46 +08:00
poetry.toml
pyproject.toml Update js and py dependencies, bump python (#29561) 2024-03-06 12:10:46 +08:00
README.md [BRANDING] add Forgejo logo 2024-02-05 16:02:13 +01:00
RELEASE-NOTES.md [RELEASE] v1.21.8-0 release notes 2024-03-22 09:02:57 +01:00
renovate.json Reduce concurrent Renovate PR's 2024-03-26 09:40:48 +01:00
tailwind.config.js Migrate font-size helpers to tailwind (#30029) 2024-03-26 19:04:28 +01:00
updates.config.js Configure pinned JS dependencies via updates.config.js (#29696) 2024-03-20 08:46:28 +01:00
vitest.config.js Switch to happy-dom for testing (#29948) 2024-03-26 19:04:26 +01:00
webpack.config.js Enforce trailing comma in JS on multiline (#30002) 2024-03-26 19:04:27 +01:00

Welcome to Forgejo

Hi there! Tired of big platforms playing monopoly? Providing Git hosting for your project, friends, company or community? Forgejo (/for'd͡ʒe.jo/ inspired by forĝejo the Esperanto word for forge) has you covered with its intuitive interface, light and easy hosting and a lot of builtin functionality.

Forgejo was created in 2022 because we think that the project should be owned by an independent community. If you second that, then Forgejo is for you! Our promise: Independent Free/Libre Software forever!

What does Forgejo offer?

If you like any of the following, Forgejo is literally meant for you:

  • Lightweight: Forgejo can easily be hosted on nearly every machine. Running on a Raspberry? Small cloud instance? No problem!
  • Project management: Besides Git hosting, Forgejo offers issues, pull requests, wikis, kanban boards and much more to coordinate with your team.
  • Publishing: Have something to share? Use releases to host your software for download, or use the package registry to publish it for docker, npm and many other package managers.
  • Customizable: Want to change your look? Change some settings? There are many config switches to make Forgejo work exactly like you want.
  • Powerful: Organizations & team permissions, CI integration, Code Search, LDAP, OAuth and much more. If you have advanced needs, Forgejo has you covered.
  • Privacy: From update checker to default settings: Forgejo is built to be privacy first for you and your crew.
  • Federation: (WIP) We are actively working to connect software forges with each other through ActivityPub, and create a collaborative network of personal instances.

Learn more

Dive into the documentation, subscribe to releases and blog post on our website, find us on the Fediverse or hop into our Matrix room if you have any questions or want to get involved.

Get involved

If you are interested in making Forgejo better, either by reporting a bug or by changing the governance, please take a look at the contribution guide.