gitea/routers/api/v1/repo
Giteabot 4dccac3dbf
Fix api error message if fork exists (#24487) (#24493)
Backport #24487 by @fnetX

On the @Forgejo instance of Codeberg, we discovered that forking a repo
which is already forked now returns a 500 Internal Server Error, which
is unexpected. This is an attempt at fixing this.

The error message in the log:
~~~
2023/05/02 08:36:30 .../api/v1/repo/fork.go:147:CreateFork() [E]
[6450cb8e-113] ForkRepository: repository is already forked by user
[uname: ...., repo path: .../..., fork path: .../...]
~~~

The service that is used for forking returns a custom error message
which is not checked against.

About the order of options:
The case that the fork already exists should be more common, followed by
the case that a repo with the same name already exists for other
reasons. The case that the global repo limit is hit is probably not the
likeliest.

---------

Co-authored-by: Otto Richter (fnetX) <git@fralix.ovh>
2023-05-03 08:15:56 -04:00
..
blob.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
branch.go Fix protected branch for API (#24013) (#24027) 2023-04-10 14:48:02 +08:00
collaborators.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
commits.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
file.go Use context parameter in models/git (#22367) 2023-01-09 11:50:54 +08:00
fork.go Fix api error message if fork exists (#24487) (#24493) 2023-05-03 08:15:56 -04:00
git_hook.go Move `convert` package to services (#22264) 2022-12-29 10:57:15 +08:00
git_ref.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
hook.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
hook_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue.go Webhooks: for issue close/reopen action, add commit ID that caused it (#22583) 2023-01-24 23:47:53 -05:00
issue_attachment.go Preserve file size when creating attachments (#23406) (#23426) 2023-03-12 12:45:39 +01:00
issue_comment.go Fix issue attachment handling (#24202) (#24221) 2023-04-20 04:21:10 -04:00
issue_comment_attachment.go Preserve file size when creating attachments (#23406) (#23426) 2023-03-12 12:45:39 +01:00
issue_label.go Move `convert` package to services (#22264) 2022-12-29 10:57:15 +08:00
issue_reaction.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
issue_stopwatch.go Move `convert` package to services (#22264) 2022-12-29 10:57:15 +08:00
issue_subscription.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
issue_tracked_time.go Move `convert` package to services (#22264) 2022-12-29 10:57:15 +08:00
key.go Move `convert` package to services (#22264) 2022-12-29 10:57:15 +08:00
label.go Add loading yaml label template files (#22976) (#23232) 2023-03-01 21:57:34 -05:00
language.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
main_test.go Refactor the setting to make unit test easier (#22405) 2023-02-20 00:12:01 +08:00
migrate.go Match api migration behavior to web behavior (#23552) (#23573) 2023-03-19 15:30:02 +08:00
milestone.go Move `convert` package to services (#22264) 2022-12-29 10:57:15 +08:00
mirror.go Add `sync_on_commit` option for push mirrors api (#22271) 2022-12-30 19:22:51 +08:00
notes.go Fix panic when getting notes by ref (#23372) (#23377) 2023-03-08 15:17:31 -05:00
patch.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
pull.go Add force_merge to merge request and fix checking mergable (#23010) 2023-02-21 08:42:07 -06:00
pull_review.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
release.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
release_attachment.go Preserve file size when creating attachments (#23406) (#23426) 2023-03-12 12:45:39 +01:00
release_tags.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
repo.go Handle missing `README` in create repos API (#23387) (#23510) 2023-03-16 21:04:52 -04:00
repo_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
star.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
status.go Use context parameter in models/git (#22367) 2023-01-09 11:50:54 +08:00
subscriber.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
tag.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
teams.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
topic.go Move `convert` package to services (#22264) 2022-12-29 10:57:15 +08:00
transfer.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
tree.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
wiki.go Move `convert` package to services (#22264) 2022-12-29 10:57:15 +08:00