Backport #24825 by @yardenshoham
The topics are saved in the repo_topic table with a repoID key. They are
also saved directly in the repository table.
Before this PR, only `AddTopic` and `SaveTopics` made sure the `topics`
field in the repository field was synced with the repo_topic table.
This PR makes sure `GenerateTopics` and `DeleteTopic` also sync the
`topics` in the repository table.
`RemoveTopicsFromRepo` doesn't need to sync the data as it is only used
to delete a repository.
- Fixes#24820
(cherry picked from commit 04f9ab1aa9)
Backport #24802 by @wolfogre
Regression of #24536. If the user doesn't explicitly disable Actions, it
will be enabled.
1. Gitea will call `loadRepositoryFrom` before `loadActionsFrom`.
25d4f95df2/modules/setting/setting.go (L234-L237)
2. In `loadRepositoryFrom`,
`rootCfg.Section("actions").Key("ENABLED").MustBool(true)` will set
`actions.ENABLED` with `true`.
25d4f95df2/modules/setting/repository.go (L313-L315)
3. In `loadActionsFrom`, `rootCfg.Section("actions")` will get a section
with Actions enabled.
25d4f95df2/modules/setting/actions.go (L23-L26)
Although the cause of the problem was using `true` by copy-paste
mistake, it also surprised me that
**`rootCfg.Section("actions").Key("ENABLED").MustBool(true)` doesn't
only read, but also write.**
Co-authored-by: Jason Song <i@wolfogre.com>
(cherry picked from commit b369ed579d)
Backport #24751 by @wxiaoguang
Make mailer SMTP check have timed context
Otherwise Gitea may block for long time if the DNS request blocks.
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
(cherry picked from commit 57f520e7e5)
Backport #24695 by @yardenshoham
Looks like a copy-paste leftover
- Fixes#20868
Co-authored-by: Yarden Shoham <git@yardenshoham.com>
(cherry picked from commit aa984f21fa)
Backport #24470Fixes#24145
---
To solve the bug, I added a "computed" `TargetBehind` field to the
`Release` model, which indicates the target branch of a release. This is
particularly useful if the target branch was deleted in the meantime (or
is empty).
I also did a micro-optimization in `calReleaseNumCommitsBehind`. Instead
of checking that a branch exists and then call `GetBranchCommit`, I
immediately call `GetBranchCommit` and handle the `git.ErrNotExist`
error.
This optimization is covered by the added unit test.
_contributed in the context of @forgejo_
(cherry picked from commit cb7ba8969d)
Fix the link that was 404.
(cherry picked from commit ae515d7258)
(cherry picked from commit 48c59093cd)
(cherry picked from commit 8d4b1804bd)
(cherry picked from commit b7555a2905)
(cherry picked from commit 18c6892b86)
(cherry picked from commit c71a25615c)
(cherry picked from commit 3937bc7450)
FORGEJO_* environment variables are set to the corresponding GITEA_*
variable when the cli starts. This approach is intended to minimize
the conflicts on rebase. All occurences of GITEA_* are left untouched
in the codebase and they are only changed to FORGEJO_* if exposed to
the user.
(cherry picked from commit e466f9d10e)
(cherry picked from commit e33e95931b)
(cherry picked from commit 5f528f0a25)
(cherry picked from commit 65146bfbcd)
(cherry picked from commit 393eede84a)
(cherry picked from commit df68ae9d1f)
(cherry picked from commit 2f05b0cc1f)
(cherry picked from commit 71d2c21c81)
templates/swagger/v1_json.tmpl updated with `make generate-swagger`
(cherry picked from commit 88899c492e)
(cherry picked from commit 7171bd9617)
(cherry picked from commit 1a742446c1)
(cherry picked from commit 132342ae8d)
(cherry picked from commit b47b815fbe)
(cherry picked from commit 2dbb52c8ec)
(cherry picked from commit c846de4322)
(cherry picked from commit c3d1ad7bbc)
(cherry picked from commit 972c772c0e)
Add the FORGEJO__ prefix as equivalent to GITEA__ when interpreted by
environment-to-ini. It is used when running the Forgejo container like
so:
docker run --name forgejo -e FORGEJO__security__INSTALL_LOCK=true \
-d codeberg.org/forgejo/forgejo:1.18
Signed-off-by: Earl Warren <contact@earl-warren.org>
(cherry picked from commit 6cd61e2ab7)
(cherry picked from commit 62cae8cc6a)
(cherry picked from commit aee1afc509)
(cherry picked from commit 6ba563cd9b)
(cherry picked from commit d887235e08)
(cherry picked from commit c9a0a44e28)
(cherry picked from commit 2cae2fca8e)
(cherry picked from commit c457919a2a)
(cherry picked from commit 57709acf65)
(cherry picked from commit 5bad53d6fc)
- "Gitea" is automatically being determined in Swagger and cannot be
overridden, therefor we override it after `swagger generate spec` is run.
- Resolves https://codeberg.org/forgejo/forgejo/issues/226
(cherry picked from commit 0b45380765)
[BRANDING] Change Swagger title to Forgejo API
(cherry picked from commit 79f6a70b53)
(cherry picked from commit 6cd47afe33)
(cherry picked from commit a7ae2e4c09)
(cherry picked from commit 59f837e466)
(cherry picked from commit 9fefe3dc6a)
(cherry picked from commit 1e88465eed)
(cherry picked from commit 5ba2f6e3a1)
(cherry picked from commit dbdd396315)
(cherry picked from commit b9f3d3a97d)
(cherry picked from commit e5694402f1)
As the docs of codeberg refer to the strings printed by the Forgejo
ssh servers, this is user-facing and is nice to update to the new
product name.
(cherry picked from commit 103991d73f)
(cherry picked from commit 2a0d3f85f1)
(cherry picked from commit eb2b4ce388)
(cherry picked from commit 0998b51716)
[BRANDING] forgejo log message
(cherry picked from commit d51a046ebe)
(cherry picked from commit 921994bad3)
(cherry picked from commit bb3048cdb2)
(cherry picked from commit b736d42075)
(cherry picked from commit 97b637f01f)
(cherry picked from commit 56bf8082fa)
(cherry picked from commit 577f91084b)
Replaces `Gitea` with `Forgejo` in the default config settings for new installs.
This will not affect existing installs.
Co-authored-by: Caesar Schinas <caesar@caesarschinas.com>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/140
Co-authored-by: Caesar Schinas <caesar@noreply.codeberg.org>
Co-committed-by: Caesar Schinas <caesar@noreply.codeberg.org>
(cherry picked from commit ca1319aa16)
(cherry picked from commit 52a4d238a0)
(cherry picked from commit f63536538c)
Conflicts:
web_src/js/features/install.js
(cherry picked from commit 861cc434e1)
(cherry picked from commit 78482c3f78)
(cherry picked from commit dd491a44a7)
(cherry picked from commit f56b7c4550)
(cherry picked from commit 0be7abc8da)
(cherry picked from commit cfc94327f8)
(cherry picked from commit 1cd12e8722)
- We can rebrand this quite safely, as only new installations would likely look into this file and configure the correct folders(to use forgejo instead of gitea).
Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/137
(cherry picked from commit fa78e52b5d)
(cherry picked from commit e36d649989)
(cherry picked from commit 37e15a2f41)
(cherry picked from commit a09a4b3ce0)
(cherry picked from commit 10615fca8e)
(cherry picked from commit f765a10fd3)
(cherry picked from commit 2b1b539d2c)
(cherry picked from commit df4250b6a8)
(cherry picked from commit ba499fc092)
(cherry picked from commit 4abc3eea90)
(cherry picked from commit ecc3dae2ac)
(cherry picked from commit c6c3fc6ace)
(cherry picked from commit 4833bd594a)
[I18N] in the home page replace GitHub with Forgejo
The english string that shows on the home page to encourage for
contribution no longer reference GitHub. But some translations still
do. In this context, and this context only, replace it with Forgejo
even though it may not be correct in some cases.
Refs: https://codeberg.org/forgejo/forgejo/pulls/450
(cherry picked from commit 71de77f5ae)
(cherry picked from commit e9adeae464)
(cherry picked from commit 6469290eac)
(cherry picked from commit f1cf66e7cf)
(cherry picked from commit b4a37d859d)
(cherry picked from commit 53d981426c)
(cherry picked from commit 640fea0435)
(cherry picked from commit 6f4ec092f4)
(cherry picked from commit 0bd796b816)
- Use TXT records in order to determine the latest available version.
- This addresses a valid privacy issue, as with HTTP requests the server
can keep track(estimated) of how many instances are using Forgejo, with
DNS that's basically not possible as the server will never receive any
data, as the only ones receiving data are DNS resolvers.
(cherry picked from commit 0baefb546a)
(cherry picked from commit e8ee41880b)
(cherry picked from commit 7eca4f3bf1)
(cherry picked from commit 5c1567836c)
(cherry picked from commit 953afbc67f)
(cherry picked from commit fd9d97ab9f)
(cherry picked from commit 40fbd45eff)
(cherry picked from commit c5c904b04b)
(cherry picked from commit 48659bb3ab)
(cherry picked from commit b1fccd5093)
(cherry picked from commit 5e69573860)
- This is being disabled as it will weekly connect to a domain.
- This only affects existing installations, as new installations will
have a explicit value being written into app.ini due to https://github.com/go-gitea/gitea/pull/21655
(cherry picked from commit cd0b8b6852)
(cherry picked from commit 58d43867ca)
(cherry picked from commit f290b91e50)
(cherry picked from commit 21085ab635)
(cherry picked from commit 3da29b02b3)
(cherry picked from commit 6169fba292)
(cherry picked from commit ab98900ea6)
(cherry picked from commit e406a63289)
(cherry picked from commit 4ebc3e2d61)
(cherry picked from commit ee6df926e7)
(cherry picked from commit b11b7f348e)
(cherry picked from commit 481d813539)
address oliverpool comments
(cherry picked from commit d8f313f9e2)
s/Printf/Print/
(cherry picked from commit 6621b04458)
do not run initDB within integration tests
(cherry picked from commit 5a0428ede3)
(cherry picked from commit e8287b753d)
(cherry picked from commit fc2b49e571)
(cherry picked from commit a291b39b23)
(cherry picked from commit b8d4953405)
(cherry picked from commit 570d6dde7b)
(cherry picked from commit d3c94ac242)