forgejo/models
zeripath 03df7d0452
Check Mirror exists before linking its Repo (#20840)
In MirrorRepositoryList.loadAttributes there is some code to load the Mirror entries
from the database. This assumes that every Repository which has IsMirror set has
a Mirror associated in the DB. This association is incorrect in the case of
Mirror repository under creation when there is no Mirror entry in the DB until
completion.

Unfortunately LoadAttributes makes this incorrect assumption and presumes that a
Mirror will always be loaded. This then causes a panic.

This PR simply double checks if there a Mirror before attempting to link back to
its Repo. Unfortunately it should be expected that there may be other cases where
this incorrect assumption causes further problems.

Fix #20804

Signed-off-by: Andrew Thornton <art27@cantab.net>

Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2022-08-18 10:22:56 +08:00
..
admin Add more linters to improve code readability (#19989) 2022-06-20 12:02:49 +02:00
appstate Sync gitea app path for git hooks and authorized keys when starting (#17335) 2021-10-21 17:22:43 +08:00
asymkey Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00
auth Fix panic when an invalid oauth2 name is passed (#20820) 2022-08-17 14:25:28 -04:00
avatars format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
db Add migrate repo archiver and packages storage support on command line (#20757) 2022-08-16 12:05:15 +08:00
fixtures Exclude Archived repos from Dashboard Milestones (#19882) 2022-06-04 19:30:01 +01:00
foreignreference Store the foreign ID of issues during migration (#18446) 2022-03-17 18:08:35 +01:00
git Add migrate repo archiver and packages storage support on command line (#20757) 2022-08-16 12:05:15 +08:00
issues Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00
migrations Add badge capabilities to users (#20607) 2022-08-18 02:25:25 +03:00
organization Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00
packages Add support for Pub packages (#20560) 2022-08-07 18:09:54 +08:00
perm Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00
project Add option to purge users (#18064) 2022-07-14 08:22:09 +01:00
pull Delete related PullAutoMerge and ReviewState on User/Repo Deletion (#19649) 2022-05-08 15:46:34 +02:00
repo Check Mirror exists before linking its Repo (#20840) 2022-08-18 10:22:56 +08:00
unit Add more linters to improve code readability (#19989) 2022-06-20 12:02:49 +02:00
unittest Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00
user Add badge capabilities to users (#20607) 2022-08-18 02:25:25 +03:00
webhook Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00
action.go Refix indices on actions table (#20158) 2022-07-01 17:04:01 +01:00
action_list.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
action_test.go Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00
consistency.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
error.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
fixture_generation.go Move access and repo permission to models/perm/access (#19350) 2022-05-11 12:09:36 +02:00
fixture_test.go Decouple unit test code from business code (#17623) 2021-11-12 22:36:47 +08:00
main_test.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
migrate.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
migrate_test.go Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00
notification.go Add more linters to improve code readability (#19989) 2022-06-20 12:02:49 +02:00
notification_test.go Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00
org.go Use neutral language in comments and docs (#20135) 2022-06-25 17:50:12 -05:00
org_team.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
org_team_test.go Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00
org_test.go Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00
release.go Add more linters to improve code readability (#19989) 2022-06-20 12:02:49 +02:00
repo.go Add option to purge users (#18064) 2022-07-14 08:22:09 +01:00
repo_activity.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
repo_collaboration.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
repo_collaboration_test.go Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00
repo_test.go Move tests as seperate sub packages to reduce duplicated file names (#19951) 2022-06-15 09:02:00 +02:00
repo_transfer.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
repo_transfer_test.go Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00
statistic.go Add more linters to improve code readability (#19989) 2022-06-20 12:02:49 +02:00
task.go Fix typos related to ErrTaskDoesNotExist error (#20118) 2022-06-24 15:51:37 +02:00
token.go Use base32 for 2FA scratch token (#18384) 2022-01-26 12:10:10 +08:00
token_test.go A better go code formatter, and now make fmt can run in Windows (#17684) 2021-11-17 20:34:35 +08:00
upload.go Remove NewSession method from db.Engine interface (#17577) 2021-11-21 23:41:00 +08:00
user.go Add badge capabilities to users (#20607) 2022-08-18 02:25:25 +03:00
user_heatmap.go Move organization related structs into sub package (#18518) 2022-03-29 14:29:02 +08:00
user_heatmap_test.go Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00