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
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
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
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
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
token_test.go
upload.go
user.go Add badge capabilities to users (#20607) 2022-08-18 02:25:25 +03:00
user_heatmap.go
user_heatmap_test.go Refactor AssertExistsAndLoadBean to use generics (#20797) 2022-08-16 10:22:25 +08:00