Commit graph

17683 commits

Author SHA1 Message Date
Gergely Nagy f8da672307
[FEAT]: Allow forking without a repo ID
Forking a repository via the web UI currently requires visiting a
`/repo/fork/{{repoid}}` URL. This makes it cumbersome to create a link
that starts a fork, because the repository ID is only available via the
API. While it *is* possible to create a link, doing so requires extra
steps.

To make it easier to have a "Fork me!"-style links, introduce the
`/{username}/{repo}/fork` route, which will start the forking process
based on the repository in context instead.

The old `/repo/fork/{repoid}` route (with a `GET` request) will remain
there for the sake of backwards compatibility, but will redirect to the
new URL instead. It's `POST` handler is removed.

Tests that used the old route are updated to use the new one, and new
tests are introduced to exercise the redirect.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-02-10 09:14:14 +01:00
Earl Warren cf1c57b681 Merge pull request 'Forgejo hard fork' (#2319) from earl-warren/forgejo:wip-forgejo into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2319
2024-02-10 06:33:59 +00:00
Earl Warren beff445741
Merge remote-tracking branch 'forgejo/forgejo-development' into wip-forgejo 2024-02-09 23:22:12 +01:00
Earl Warren 1c183c8031 Merge pull request '[TESTS] add manual testing instructions as a sub-module' (#2265) from earl-warren/forgejo:wip-manual-testing into forgejo-development
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2265
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-02-09 22:21:25 +00:00
Earl Warren 7cbf05fafb
Merge remote-tracking branch 'forgejo/forgejo-dependency' into wip-forgejo
Conflicts:
	.forgejo/workflows/testing.yml
	trivial conflict
2024-02-09 19:00:54 +01:00
Earl Warren 36fc9a9f72
Merge remote-tracking branch 'forgejo/forgejo-branding' into wip-forgejo 2024-02-09 18:59:07 +01:00
Earl Warren 16794897bc
Merge remote-tracking branch 'forgejo/forgejo-development' into wip-forgejo 2024-02-09 18:58:05 +01:00
Codeberg Translate 3c31c92efb [I18N] Translations update from Weblate (#2317)
Translations update from [Weblate](https://translate.codeberg.org) for [Forgejo/forgejo](https://translate.codeberg.org/projects/forgejo/forgejo/).

Current translation status:

![Weblate translation status](https://translate.codeberg.org/widget/forgejo/forgejo/horizontal-auto.svg)

Co-authored-by: earl-warren <contact@earl-warren.org>
Co-authored-by: 0que <0que@users.noreply.translate.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2317
Co-authored-by: Codeberg Translate <translate@noreply.codeberg.org>
Co-committed-by: Codeberg Translate <translate@noreply.codeberg.org>
2024-02-09 14:53:38 +00:00
Earl Warren 12e289f6f9 Merge pull request 'CI: merge checks-backend and lint-backend' (#2315) from oliverpool/forgejo:ci_merge_steps into forgejo-dependency
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2315
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-02-09 14:17:35 +00:00
Codeberg Translate e71cdd05d8 [I18N] Translations update from Weblate (#2316)
Translations update from [Weblate](https://translate.codeberg.org) for [Forgejo/forgejo](https://translate.codeberg.org/projects/forgejo/forgejo/).

Current translation status:

![Weblate translation status](https://translate.codeberg.org/widget/forgejo/forgejo/horizontal-auto.svg)

Co-authored-by: Mormegil <mormegil@centrum.cz>
Co-authored-by: nightm4re <matthiasf.wilke@yahoo.de>
Co-authored-by: fnetX <otto@codeberg.org>
Co-authored-by: 0que <0que@users.noreply.translate.codeberg.org>
Co-authored-by: kikocorreoso <kachine@protonmail.com>
Co-authored-by: earl-warren <contact@earl-warren.org>
Co-authored-by: bart <bart@bartmathijssen.com>
Co-authored-by: tranzystorekk <tranzystorek.io@protonmail.com>
Co-authored-by: Xinayder <me+codeberg@aoalmeida.com>
Co-authored-by: rmorettibr <rafael.moretti@protonmail.com>
Co-authored-by: Werenter <abelokopytov149@gmail.com>
Co-authored-by: dobrvlskyi <dobrovolskyi@peremozhemo.org>
Co-authored-by: ika <ika@thewizardbay.cc>
Co-authored-by: noureddin <noureddin@protonmail.com>
Co-authored-by: esensar <dev@ensarsarajcic.com>
Co-authored-by: mondstern <mondstern@monocles.de>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2316
Co-authored-by: Codeberg Translate <translate@noreply.codeberg.org>
Co-committed-by: Codeberg Translate <translate@noreply.codeberg.org>
2024-02-09 12:43:51 +00:00
oliverpool ffc94d9463 remove debug print 2024-02-09 11:27:58 +01:00
oliverpool cab17d7a72 DEBUG: -j 2024-02-09 11:20:15 +01:00
oliverpool 01539730c0 CI: merge checks-backend and lint-backend 2024-02-09 11:08:19 +01:00
Earl Warren da12d2001c Merge pull request '[I18N] Translations update from Weblate' (#2305) from translate/forgejo:weblate-forgejo-forgejo into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2305
2024-02-09 08:30:00 +00:00
Earl Warren 95188d497d
[CI] pin go 1.21 2024-02-08 12:39:38 +01:00
Earl Warren a058770914
[TESTS] add manual testing instructions as a sub-module
Refs: https://codeberg.org/forgejo/discussions/issues/100
2024-02-08 11:43:43 +01:00
Earl Warren f7ca64d028 Merge pull request '[FEAT] support .forgejo dir for issue and PR templates' (#2290) from algernon/forgejo:pr/template-dirs into forgejo-dependency
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2290
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-02-08 10:42:23 +00:00
mondstern 4d62c5df14
Added translation using Weblate (Slovenian) 2024-02-07 19:04:37 +00:00
esensar 06842cb536
Added translation using Weblate (Bosnian) 2024-02-07 13:12:38 +00:00
Earl Warren 859020409e
[CI] pin go 1.21 2024-02-07 12:54:05 +01:00
Earl Warren b33877db5a
[CI] pin go 1.21 2024-02-07 12:53:39 +01:00
Earl Warren 548224ff47 Merge pull request '[CI] pin go 1.21' (#2311) from earl-warren/forgejo:wip-go into forgejo-dependency
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2311
2024-02-07 11:52:11 +00:00
Earl Warren a89cb638a0
[CI] pin go 1.21 2024-02-07 12:19:56 +01:00
Earl Warren ea7344e39f Merge pull request 'Improve English locale' (#2307) from 0ko/forgejo:english240206 into forgejo-development
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2307
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-02-06 20:57:00 +00:00
0ko 09e271497b Improve English locale 2024-02-06 23:45:48 +05:00
oatbiscuits e677192f5b
Translated using Weblate (Arabic)
Currently translated at 44.1% (1516 of 3437 strings)

Translation: Forgejo/forgejo
Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ar/
2024-02-06 15:48:02 +00:00
0que 50c101c5f1
Translated using Weblate (Russian)
Currently translated at 98.2% (3378 of 3437 strings)

Translation: Forgejo/forgejo
Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ru/
2024-02-06 15:48:02 +00:00
Werenter 54536cfc9a
Translated using Weblate (Russian)
Currently translated at 98.2% (3378 of 3437 strings)

Translation: Forgejo/forgejo
Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/ru/
2024-02-06 15:48:02 +00:00
earl-warren d8cfdd2a44
Translated using Weblate (French)
Currently translated at 99.0% (3404 of 3437 strings)

Translation: Forgejo/forgejo
Translate-URL: https://translate.codeberg.org/projects/forgejo/forgejo/fr/
2024-02-06 15:48:01 +00:00
Gergely Nagy 1624ebc836
[TESTS] issue & PR templates in .forgejo are recognized
This adds a few tests for the previous change, to verify that issue
template configs, issue templates and pr templates are all recognized in
`.forgejo` directories.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-02-06 10:22:32 +01:00
Caesar Schinas 271db6ff22
[FEAT] support .forgejo dir for issue and PR templates 2024-02-06 10:22:32 +01:00
Gusted 599264717f Merge pull request 'Fix /api/v1/{owner}/{repo}/issue_templates' (#2292) from algernon/forgejo:b/api/issue_templates-fix into forgejo-dependency
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2292
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: crystal <crystal@noreply.codeberg.org>
2024-02-06 09:17:08 +00:00
Gergely Nagy be8d16438a
Fix /api/v1/{owner}/{repo}/issue_templates
When issue templates were moved into services in
def4956122, the code was also refactored
and simplified. Unfortunately, that simplification broke the
`/api/v1/{owner}/{repo}/issue_templates` route, because it was
previously using a helper function that ignored invalid templates, and
after the refactor, the function it called *always* returned non-nil as
the second return value. This, in turn, results in the aforementioned
end point always returning an internal server error.

This change restores the previous behaviour of ignoring invalid files
returned by `issue.GetTemplatesFromDefaultBranch`, and adds a few test
cases to exercise the endpoint.

Other users of `GetTemplatesFromDefaultBranch` already ignore the second
return value, or handle it correctly, so no changes are necessary there.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-02-05 20:58:41 +01:00
Earl Warren 094c84ed6d
Merge branch 'rebase-forgejo-dependency' into wip-forgejo 2024-02-05 18:58:23 +01:00
Earl Warren d7e1854884
Merge branch 'rebase-forgejo-branding' into wip-forgejo 2024-02-05 18:58:18 +01:00
Earl Warren c6fe41239a
Merge branch 'rebase-forgejo-moderation' into wip-forgejo 2024-02-05 18:58:11 +01:00
Earl Warren ee5a3a6401
[MODERATION] User blocking (squash) RemoveUsernameParameterSuffix 2024-02-05 17:06:02 +01:00
Earl Warren 030cdd6ae2
[GITEA] Allow changing the email address before activation (squash)
See https://codeberg.org/forgejo/forgejo/pulls/2300
2024-02-05 16:57:58 +01:00
oliverpool ecfc3cb3f0
[GITEA] always load outdated comments
(cherry picked from commit 2615dea9af10b9400bdf96cf8c3cf7c6e349d5ed)
2024-02-05 16:57:58 +01:00
Earl Warren 49b51cbdd7
Revert "Do not render empty comments (#29039)"
This reverts commit b4513f48ce.
2024-02-05 16:57:58 +01:00
Earl Warren 036f1eddc5
[GITEA] avoid superfluous synchronized pull_request run when opening a PR (#2236)
* Split TestPullRequest out of AddTestPullRequestTask
* Before scheduling the task, AddTestPullRequestTask stores the max
  index of the repository
* When the task runs, it does not take into account pull requests that
  have an index higher than the recorded max index

When AddTestPullRequestTask is called with isSync == true, it is the
direct consequence of a new commit being pushed. Forgejo knows nothing
of this new commit yet. If a PR is created later and its head
references the new commit, it will have an index that is higher and
must not be taken into account. It would be acting and triggering a
notification for a PR based on an event that happened before it
existed.

Refs: https://codeberg.org/forgejo/forgejo/issues/2009
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2236
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
(cherry picked from commit b3be895a30b32bfae4acfa32db54406e1dd1dc21)
2024-02-05 16:57:58 +01:00
Gergely Nagy c335d076aa
[GITEA] admin: "Self Check" should only show for some db types
The "Self Check" menu essentially runs the collation check that is also
performed at startup, and displays the results. This is only a thing for
MariaDB/MySQL and MSSQL. As such, the menu item should only be available
for these database types.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
(cherry picked from commit 0ca118fdc3c39c0e7adf9285e074e5878a0ca1c1)
2024-02-05 16:57:56 +01:00
oliverpool 76c2f5bf92
[GITEA] add test showing bug on resolving invalidated review comment
(cherry picked from commit 5fb3b927f1f80bd4bd1ccb2b1b74a0f20b35886a)
2024-02-05 16:57:56 +01:00
Gusted 2ed825c5be
[GITEA] Fix orgmode link resolver for text descriptions
- It's possible that the description of an `Regularlink` is `Text` and not
another `Regularlink`. Therefor if it's `Text`, convert it to an
`Regularlink` trough the 'old' behavior (pass it trough `org.String` and
trim `file:` prefix).
- Adds unit tests.
- Resolves https://codeberg.org/Codeberg/Community/issues/1430

(cherry picked from commit 385fc6ee6be25859066a716aa15be09991e2d33c)
2024-02-05 16:57:56 +01:00
Gergely Nagy fde08f91fd
[GITEA] tests: A workaround for the MySQL collation tests
Because Forgejo run mysqld with `--innodb-flush-method=nosync` to speed
up the test suite, there are situations where a larger, database-wide
operation does not always fully manifest until later, not even when it
is wrapped in a transaction, nor when we use `FLUSH TABLES` and similar
methods.

In the case of the MySQL collation test, this *sometimes* results in the
database still responding with the old collation to a reader, even after
an `ALTER DATABASE ... COLLATE ...`.

In order to be able to still use the aforementioned flag and enjoy its
benefits, add a five second sleep between `db.ConvertDatabaseTable()`
and `db.CheckCollations()` in the `TestDatabaseCollation()` set of
tests.

This is not a fix - I don't think there is one possible -, but a
workaround. If it breaks again, the correct fix will be to remove the
flag from `mysqld` (it's not a supported flag to begin with).

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
(cherry picked from commit af18ed2ba9b1d6e228854b76cc4ffff790b8804b)
2024-02-05 16:57:55 +01:00
Gergely Nagy 5b91430bea
[GITEA] i18n: Rename settings.transfer_form_title to .enter_repo_name
Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
(cherry picked from commit 8438ec58f0046978a0fdbb0292165144edd3e51a)
2024-02-05 16:57:53 +01:00
Gergely Nagy 2ca4862f8b
[GITEA] Allow changing the repo Wiki branch to main
Previously, the repo wiki was hardcoded to use `master` as its branch,
this change makes it possible to use `main` (or something else, governed
by `[repository].DEFAULT_BRANCH`, a setting that already exists and
defaults to `main`).

The way it is done is that a new column is added to the `repository`
table: `wiki_branch`. The migration will make existing repositories
default to `master`, for compatibility's sake, even if they don't have a
Wiki (because it's easier to do that). Newly created repositories will
default to `[repository].DEFAULT_BRANCH` instead.

The Wiki service was updated to use the branch name stored in the
database, and fall back to the default if it is empty.

Old repositories with Wikis using the older `master` branch will have
the option to do a one-time transition to `main`, available via the
repository settings in the "Danger Zone". This option will only be
available for repositories that have the internal wiki enabled, it is
not empty, and the wiki branch is not `[repository].DEFAULT_BRANCH`.

When migrating a repository with a Wiki, Forgejo will use the same
branch name for the wiki as the source repository did. If that's not the
same as the default, the option to normalize it will be available after
the migration's done.

Additionally, the `/api/v1/{owner}/{repo}` endpoint was updated: it will
now include the wiki branch name in `GET` requests, and allow changing
the wiki branch via `PATCH`.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
(cherry picked from commit d87c526d2a313fa45093ab49b78bb30322b33298)
2024-02-05 16:57:47 +01:00
Gusted 361617eea0
[GITEA] Use correct translations for pull request
- When a commit references a pull request, the detail strings should
reflect that. Add a new translation string for the pull request.
- Added integration tests.
- Resolves #2256

(cherry picked from commit 0d054cd4d998957bd499bfebe4002290526c5b92)
2024-02-05 16:54:44 +01:00
oliverpool b26d037c62
[GITEA] depguard sha256-simd
(cherry picked from commit cd1a03008412d9f64c1eaa6a66e3cfe361f76f08)
(cherry picked from commit d5b57d41ac7557ec8705951358eb9c345c83782e)
2024-02-05 16:54:44 +01:00
Earl Warren 209610075a
[TESTS] add log.Level to test.NewLogChecker
So the caller can check log events at the desired level instead of
being limited to the default level log.INFO

(cherry picked from commit 2fbf5f9555641a1244576df92cb518f8ad76c162)
(cherry picked from commit e2137a3147389114475db787522d5c22ff249d2c)
2024-02-05 16:54:44 +01:00