0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-12-22 23:33:15 -05:00
Beyond coding. We forge.
Find a file
Gusted 9df10c5ac5
[FEAT] Only implement used API of Redis client
- Currently for the `nosql` module (which simply said provides a manager
for redis clients) returns the
[`redis.UniversalClient`](https://pkg.go.dev/github.com/redis/go-redis/v9#UniversalClient)
interface. The interfaces exposes all available commands.
- In generalm, dead code elimination should be able to take care of not
generating the machine code for methods that aren't being used. However
in this specific case, dead code elimination either is disabled or gives
up on trying because of exhaustive call stack the client by
`GetRedisClient` is used.
- Help the Go compiler by explicitly specifying which methods we use.
This reduces the binary size by ~400KB (397312 bytes). As Go no longer
generate machine code for commands that aren't being used.
- There's a **CAVEAT** with this, if a developer wants to use a new
method that isn't specified, they will have to know about this
hack (by following the definition of existing Redis methods) and add the
method definition from the Redis library to the `RedisClient` interface.
2024-08-30 04:33:15 +02:00
.devcontainer Update golang packages 2024-08-21 09:58:16 +00:00
.forgejo Merge pull request 'Update links affected by the renaming of 'developer' documentation sub-path into 'contributor'' (#5129) from floss4good/forgejo__forgejo:contrib-doc into forgejo 2024-08-26 18:50:40 +00:00
assets [CHORE] Move cache library 2024-08-27 21:28:56 +02:00
build Forgejo v9.0 is GPLv3+ 2024-08-22 09:09:29 +02:00
cmd [CHORE] Move to new sessioner library 2024-08-25 03:47:08 +02:00
contrib Update module github.com/google/go-github/v63 to v64 2024-08-24 16:05:36 +00:00
custom/conf Merge pull request 'git-grep: set timeout to 2s by default and allow configuring it' (#4966) from yoctozepto/git-grep-timeout into forgejo 2024-08-15 12:15:16 +00:00
docker
models [FEAT] Add support for webauthn credential level 3 2024-08-29 10:05:03 +02:00
modules [FEAT] Only implement used API of Redis client 2024-08-30 04:33:15 +02:00
options i18n: update of translations from Codeberg Translate (#5070) 2024-08-29 04:54:39 +00:00
public Arch packages implementation (#4785) 2024-08-04 06:16:29 +00:00
release-notes [SEC] Ensure propagation of API scopes for Conan and Container authentication 2024-08-28 10:33:32 +02:00
releases/images
routers [FEAT] Add support for webauthn credential level 3 2024-08-29 10:05:03 +02:00
services Merge pull request '[CHORE] Move cache & captcha library' (#5146) from gusted/forgejo-captcha into forgejo 2024-08-29 08:02:09 +00:00
templates Merge pull request 'fix: WIP toggle by reducing max issue title' (#5143) from fnetx/wip-toggle-workaround into forgejo 2024-08-29 21:05:35 +00:00
tests Merge pull request 'fix: WIP toggle by reducing max issue title' (#5143) from fnetx/wip-toggle-workaround into forgejo 2024-08-29 21:05:35 +00:00
tools Adjust codespell config + make it fix few typos which sneaked in since addition of codespell support (#4857) 2024-08-08 16:07:35 +00:00
web_src Merge pull request '[PORT] Enable no-jquery/no-class-state (gitea#31639) & Remove eslint-plugin-jquery (gitea#31402)' (#5107) from gusted/forgejo-port-gt-31402 into forgejo 2024-08-26 00:01:43 +00:00
.air.toml
.deadcode-out [FEAT] Allow pushmirror to use publickey authentication 2024-08-22 17:05:07 +02:00
.dockerignore
.editorconfig
.envrc Enable direnv (#31672) 2024-07-28 07:18:24 +02:00
.eslintrc.yaml [PORT] Enable no-jquery/no-class-state (gitea#31639) 2024-08-25 02:57:50 +02:00
.gitattributes
.gitignore Enable direnv (#31672) 2024-07-28 07:18:24 +02:00
.gitmodules
.gitpod.yml
.golangci.yml style: reenable switch check 2024-08-18 15:19:01 +02:00
.ignore
.mailmap Add .mailmap with aliases for Unknwon (github.com/Unknwon) 2024-08-14 08:26:16 -04:00
.markdownlint.yaml
.npmrc
.release-notes-assistant.yaml feat(release-notes-assistant): diff of the change in preview 2024-07-25 22:32:14 +02:00
.spectral.yaml
.yamllint.yaml
BSDmakefile
build.go
CODEOWNERS chore(CODEOWNERS): @earl-warren watches over all PRs 2024-08-20 08:24:48 +02:00
CONTRIBUTING.md docs: replace Developer Guide link with the new Contributor Guide one. 2024-08-26 13:22:39 +03:00
DCO
Dockerfile Forgejo v9.0 is GPLv3+ 2024-08-22 09:09:29 +02:00
Dockerfile.rootless Forgejo v9.0 is GPLv3+ 2024-08-22 09:09:29 +02:00
flake.lock Fix update flake (#31626) 2024-07-14 11:35:15 +02:00
flake.nix Fix update flake (#31626) 2024-07-14 11:35:15 +02:00
go.mod Update module github.com/go-webauthn/webauthn to v0.11.2 2024-08-29 10:05:00 +02:00
go.sum Update module github.com/go-webauthn/webauthn to v0.11.2 2024-08-29 10:05:00 +02:00
LICENSE Forgejo v9.0 is GPLv3+ 2024-08-22 09:09:29 +02:00
main.go
Makefile Update renovate to v38.52.3 2024-08-26 04:05:34 +00:00
package-lock.json Update dependency @stylistic/eslint-plugin-js to v2.6.5 2024-08-29 10:03:41 +00:00
package.json Update dependency @stylistic/eslint-plugin-js to v2.6.5 2024-08-29 10:03:41 +00:00
playwright.config.js fix: WIP toggle by reducing max issue title 2024-08-29 01:36:58 +02:00
poetry.lock Update dependency djlint to v1.34.2 2024-08-29 00:04:07 +00:00
poetry.toml
pyproject.toml Update dependency djlint to v1.34.2 2024-08-29 00:04:07 +00:00
README.md Forgejo v9.0 is GPLv3+ 2024-08-22 09:09:29 +02:00
release-notes-assistant.sh fix(release-notes-assistant): categorize multiline drafts & cleanup 2024-08-01 20:56:34 +02:00
RELEASE-NOTES.md docs: add links to the v7.0.8 & v8.0.2 release notes 2024-08-29 06:47:26 +02:00
renovate.json chore(renovate): fix rule matching 2024-08-29 10:17:53 +02:00
stylelint.config.js
tailwind.config.js fix: Do not scan all Go files for tailwind classes 2024-08-24 15:45:50 +02:00
vitest.config.js
webpack.config.js [CHORE] Remove elkjs hack 2024-08-24 22:13:32 +02: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.

License

Forgejo is distributed under the terms of the GPL version 3.0 or any later version.

The agreement for this license was documented in June 2023 and implemented during the development of Forgejo v9.0. All Forgejo versions before v9.0 are distributed under the MIT license.

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.