gitea/routers/web/repo
Brecht Van Lommel a46b16f10f
Edit file workflow for creating a fork and proposing changes (#34240)
When viewing a file that the user can't edit because they can't write to
the branch, the new, upload, patch, edit and delete functionality is no
longer disabled.

If no user fork of the repository exists, there is now a page to create one.
It will automatically create a fork with a single branch matching the one
being viewed, and a unique repository name will be automatically picked.

When a fork exists, but it's archived, a mirror or the user can't write
code to it, there will instead be a message explaining the situation.

If the usable fork exists, a message will appear at the top of the edit page
explaining that the changes will be applied to a branch in the fork. The
base repository branch will be pushed to a new branch to the fork, and
then the edits will be applied on top.

The suggestion to fork happens when accessing /_edit/, so that for
example online documentation can have an "edit this page" link to
the base repository that does the right thing.

Also includes changes to properly report errors when trying to commit
to a new branch that is protected, and when trying to commit to an
existing branch when choosing the new branch option.

Resolves #9017, #20882

---------

Co-authored-by: Brecht Van Lommel <brecht@blender.org>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-06-22 12:43:43 +00:00
..
actions Add workflow_run api + webhook (#33964) 2025-06-20 20:14:00 +08:00
setting Add workflow_run api + webhook (#33964) 2025-06-20 20:14:00 +08:00
activity.go Do not show 500 error when default branch doesn't exist (#34096) 2025-04-01 21:39:00 -07:00
attachment.go Refactor error system (#33610) 2025-02-16 22:13:17 -08:00
blame.go Fix incorrect file links (#34189) 2025-04-13 12:27:31 -07:00
branch.go Add ff_only parameter to POST /repos/{owner}/{repo}/merge-upstream (#34770) 2025-06-19 12:29:10 -07:00
code_frequency.go Hide activity contributors, recent commits and code frequrency left tabs if there is no code permission (#34053) 2025-03-28 21:04:40 -07:00
commit.go Run `gopls modernize` on codebase (#34751) 2025-06-18 01:48:09 +00:00
compare.go Support title and body query parameters for new PRs (#34537) 2025-06-17 12:05:10 -07:00
contributors.go Fix incorrect ref commit ID usage (#33331) 2025-01-20 07:43:49 +00:00
download.go Refactor cache-control (#33861) 2025-03-13 07:04:50 +08:00
editor.go Edit file workflow for creating a fork and proposing changes (#34240) 2025-06-22 12:43:43 +00:00
editor_apply_patch.go Edit file workflow for creating a fork and proposing changes (#34240) 2025-06-22 12:43:43 +00:00
editor_cherry_pick.go Edit file workflow for creating a fork and proposing changes (#34240) 2025-06-22 12:43:43 +00:00
editor_error.go Refactor editor (#34780) 2025-06-21 19:20:51 +08:00
editor_fork.go Edit file workflow for creating a fork and proposing changes (#34240) 2025-06-22 12:43:43 +00:00
editor_preview.go Refactor editor (#34780) 2025-06-21 19:20:51 +08:00
editor_test.go Refactor editor (#34780) 2025-06-21 19:20:51 +08:00
editor_uploader.go Refactor editor (#34780) 2025-06-21 19:20:51 +08:00
editor_util.go Edit file workflow for creating a fork and proposing changes (#34240) 2025-06-22 12:43:43 +00:00
find.go Refactor template & test related code (#32938) 2024-12-22 15:33:19 +00:00
fork.go Edit file workflow for creating a fork and proposing changes (#34240) 2025-06-22 12:43:43 +00:00
githttp.go Run `gopls modernize` on codebase (#34751) 2025-06-18 01:48:09 +00:00
githttp_test.go Enable testifylint rules (#34075) 2025-03-31 01:53:48 -04:00
helper.go Refactor error system (#33610) 2025-02-16 22:13:17 -08:00
issue.go Run `gopls modernize` on codebase (#34751) 2025-06-18 01:48:09 +00:00
issue_comment.go Fix footnote jump behavior on the issue page. (#34621) 2025-06-09 17:18:11 +00:00
issue_content_history.go enable staticcheck QFxxxx rules (#34064) 2025-03-29 17:32:28 -04:00
issue_dependency.go Refactor error system (#33610) 2025-02-16 22:13:17 -08:00
issue_label.go Validate hex colors when creating/editing labels (#34623) 2025-06-07 11:25:08 +03:00
issue_label_test.go Validate hex colors when creating/editing labels (#34623) 2025-06-07 11:25:08 +03:00
issue_list.go Do not mutate incoming options to SearchRepositoryByName (#34553) 2025-06-02 17:33:25 +00:00
issue_lock.go Add API routes to lock and unlock issues (#34165) 2025-04-21 00:43:43 +00:00
issue_new.go Run `gopls modernize` on codebase (#34751) 2025-06-18 01:48:09 +00:00
issue_page_meta.go Fix PR's target branch dropdown (#33589) 2025-02-14 05:21:31 +00:00
issue_pin.go Move issue pin to an standalone table for querying performance (#33452) 2025-02-17 11:28:37 -08:00
issue_poster.go Support public code/issue access for private repositories (#33127) 2025-01-14 01:53:34 +00:00
issue_stopwatch.go Prepare common tmpl functions in a middleware (#33957) 2025-03-25 06:17:58 +00:00
issue_suggestions.go Rework suggestion backend (#33538) 2025-02-10 16:24:05 +00:00
issue_test.go
issue_timetrack.go Refactor error system (#33610) 2025-02-16 22:13:17 -08:00
issue_view.go Fix footnote jump behavior on the issue page. (#34621) 2025-06-09 17:18:11 +00:00
issue_watch.go Refactor error system (#33610) 2025-02-16 22:13:17 -08:00
main_test.go make writing main test easier (#27270) 2023-09-28 01:38:53 +00:00
middlewares.go Refactor context repository (#33202) 2025-01-12 03:39:46 +00:00
migrate.go Refactor error system (#33610) 2025-02-16 22:13:17 -08:00
milestone.go Run `gopls modernize` on codebase (#34751) 2025-06-18 01:48:09 +00:00
packages.go Run `gopls modernize` on codebase (#34751) 2025-06-18 01:48:09 +00:00
projects.go Run `gopls modernize` on codebase (#34751) 2025-06-18 01:48:09 +00:00
projects_test.go Clarify path param naming (#32969) 2024-12-24 13:47:45 +00:00
pull.go Fix possible pull request broken when leave the page immediately after clicking the update button (#34509) 2025-06-04 17:09:08 +00:00
pull_review.go enable staticcheck QFxxxx rules (#34064) 2025-03-29 17:32:28 -04:00
pull_review_test.go Refactor older tests to use testify (#33140) 2025-01-09 09:21:47 +08:00
recent_commits.go Hide activity contributors, recent commits and code frequrency left tabs if there is no code permission (#34053) 2025-03-28 21:04:40 -07:00
release.go Fix tag target (#34781) 2025-06-19 10:33:30 -07:00
release_test.go Validate that the tag doesn't exist when creating a tag via the web (#33241) 2025-01-14 09:27:35 +08:00
render.go Refactor error system (#33610) 2025-02-16 22:13:17 -08:00
repo.go Run `gopls modernize` on codebase (#34751) 2025-06-18 01:48:09 +00:00
search.go Improve issue & code search (#33860) 2025-03-13 11:07:48 +08:00
star.go Refactor web route handler (#33488) 2025-02-05 02:14:03 +08:00
topic.go Move context from modules to services (#29440) 2024-02-27 08:12:22 +01:00
transfer.go Refactor web route handler (#33488) 2025-02-05 02:14:03 +08:00
treelist.go support the open-icon of folder (#34168) 2025-04-28 19:51:32 -07:00
treelist_test.go support the open-icon of folder (#34168) 2025-04-28 19:51:32 -07:00
view.go Forks repository list page follow other repositories page (#34784) 2025-06-21 12:27:25 -07:00
view_file.go Edit file workflow for creating a fork and proposing changes (#34240) 2025-06-22 12:43:43 +00:00
view_home.go Fix repo broken check (#34444) 2025-05-13 08:18:45 +00:00
view_home_test.go Correctly handle submodule view and avoid throwing 500 error (#34121) 2025-04-06 09:38:08 +00:00
view_readme.go Edit file workflow for creating a fork and proposing changes (#34240) 2025-06-22 12:43:43 +00:00
view_test.go
watch.go Refactor web route handler (#33488) 2025-02-05 02:14:03 +08:00
webgit.go Support choose email when creating a commit via web UI (more) (#33445) 2025-01-31 02:36:18 +00:00
wiki.go Refactor wiki (#34805) 2025-06-22 18:53:33 +08:00
wiki_test.go Refactor wiki (#34805) 2025-06-22 18:53:33 +08:00