gitea/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_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
action.go Refix indices on actions table (#20158) 2022-07-01 17:04:01 +01: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_test.go Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00
migrate.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
notification_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
org_team_test.go Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00
org_team.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
org_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
release.go Add more linters to improve code readability (#19989) 2022-06-20 12:02:49 +02:00
repo_activity.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_collaboration.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +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_test.go Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00
repo_transfer.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
repo.go Add option to purge users (#18064) 2022-07-14 08:22:09 +01: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_test.go A better go code formatter, and now make fmt can run in Windows (#17684) 2021-11-17 20:34:35 +08:00
token.go Use base32 for 2FA scratch token (#18384) 2022-01-26 12:10:10 +08:00
upload.go Remove NewSession method from db.Engine interface (#17577) 2021-11-21 23:41:00 +08:00
user_heatmap_test.go Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00
user_heatmap.go Move organization related structs into sub package (#18518) 2022-03-29 14:29:02 +08:00
user.go Add badge capabilities to users (#20607) 2022-08-18 02:25:25 +03:00