You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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>
2 years ago
..
blob.go Implement FSFE REUSE for golang files (#21840) 2 years ago
branch.go Fix protected branch for API (#24013) (#24027) 2 years ago
collaborators.go Add context cache as a request level cache (#22294) 2 years ago
commits.go Add context cache as a request level cache (#22294) 2 years ago
file.go Use context parameter in models/git (#22367) 2 years ago
fork.go Fix api error message if fork exists (#24487) (#24493) 2 years ago
git_hook.go Move `convert` package to services (#22264) 2 years ago
git_ref.go Implement FSFE REUSE for golang files (#21840) 2 years ago
hook.go Add context cache as a request level cache (#22294) 2 years ago
hook_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
issue.go Webhooks: for issue close/reopen action, add commit ID that caused it (#22583) 2 years ago
issue_attachment.go Preserve file size when creating attachments (#23406) (#23426) 2 years ago
issue_comment.go Fix issue attachment handling (#24202) (#24221) 2 years ago
issue_comment_attachment.go Preserve file size when creating attachments (#23406) (#23426) 2 years ago
issue_label.go Move `convert` package to services (#22264) 2 years ago
issue_reaction.go Add context cache as a request level cache (#22294) 2 years ago
issue_stopwatch.go Move `convert` package to services (#22264) 2 years ago
issue_subscription.go Add context cache as a request level cache (#22294) 2 years ago
issue_tracked_time.go Move `convert` package to services (#22264) 2 years ago
key.go Move `convert` package to services (#22264) 2 years ago
label.go Add loading yaml label template files (#22976) (#23232) 2 years ago
language.go Implement FSFE REUSE for golang files (#21840) 2 years ago
main_test.go Refactor the setting to make unit test easier (#22405) 2 years ago
migrate.go Match api migration behavior to web behavior (#23552) (#23573) 2 years ago
milestone.go Move `convert` package to services (#22264) 2 years ago
mirror.go Add `sync_on_commit` option for push mirrors api (#22271) 2 years ago
notes.go Fix panic when getting notes by ref (#23372) (#23377) 2 years ago
patch.go Implement FSFE REUSE for golang files (#21840) 2 years ago
pull.go Add force_merge to merge request and fix checking mergable (#23010) 2 years ago
pull_review.go Add context cache as a request level cache (#22294) 2 years ago
release.go Add context cache as a request level cache (#22294) 2 years ago
release_attachment.go Preserve file size when creating attachments (#23406) (#23426) 2 years ago
release_tags.go Add context cache as a request level cache (#22294) 2 years ago
repo.go Handle missing `README` in create repos API (#23387) (#23510) 2 years ago
repo_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
star.go Add context cache as a request level cache (#22294) 2 years ago
status.go Use context parameter in models/git (#22367) 2 years ago
subscriber.go Add context cache as a request level cache (#22294) 2 years ago
tag.go Add context cache as a request level cache (#22294) 2 years ago
teams.go Add context cache as a request level cache (#22294) 2 years ago
topic.go Move `convert` package to services (#22264) 2 years ago
transfer.go Add context cache as a request level cache (#22294) 2 years ago
tree.go Implement FSFE REUSE for golang files (#21840) 2 years ago
wiki.go Move `convert` package to services (#22264) 2 years ago