forgejo/models/repo
Lunny Xiao c40c753613
Check Mirror exists before linking its Repo (#20840) (#20842)
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>

Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: zeripath <art27@cantab.net>
2022-08-18 11:57:40 +03:00
..
archiver.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
attachment.go Add migrate repo archiver and packages storage support on command line (#20757) (#20806) 2022-08-18 09:27:56 +08:00
attachment_test.go Move some repository related code into sub package (#19711) 2022-06-06 16:01:49 +08:00
avatar.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
collaboration.go Move some code into models/git (#19879) 2022-06-12 23:51:54 +08:00
collaboration_test.go Move tests as seperate sub packages to reduce duplicated file names (#19951) 2022-06-15 09:02:00 +02:00
fork.go Feature: Find files in repo (#15028) 2022-06-09 14:15:08 +03:00
fork_test.go Move some repository related code into sub package (#19711) 2022-06-06 16:01:49 +08:00
git.go Move repository model into models/repo (#17933) 2021-12-10 09:27:50 +08:00
issue.go Prevent deadlock in create issue (#17970) 2021-12-13 17:59:39 -05:00
language_stats.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
main_test.go Feature: Find files in repo (#15028) 2022-06-09 14:15:08 +03:00
mirror.go Check Mirror exists before linking its Repo (#20840) (#20842) 2022-08-18 11:57:40 +03:00
pushmirror.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
pushmirror_test.go Move some repository related code into sub package (#19711) 2022-06-06 16:01:49 +08:00
redirect.go Some repository refactors (#17950) 2021-12-12 23:48:20 +08:00
redirect_test.go Move some repository related code into sub package (#19711) 2022-06-06 16:01:49 +08:00
repo.go Move issues related files into models/issues (#19931) 2022-06-13 17:37:59 +08:00
repo_indexer.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
repo_list.go Add migrate repo archiver and packages storage support on command line (#20757) (#20806) 2022-08-18 09:27:56 +08:00
repo_list_test.go Move some repository related code into sub package (#19711) 2022-06-06 16:01:49 +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_unit.go Custom regexp external issues (#17624) 2022-06-10 13:39:53 +08:00
star.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
star_test.go Move some repository related code into sub package (#19711) 2022-06-06 16:01:49 +08:00
topic.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
topic_test.go Move some repository related code into sub package (#19711) 2022-06-06 16:01:49 +08:00
update.go Move some repository related code into sub package (#19711) 2022-06-06 16:01:49 +08:00
user_repo.go Move some repository related code into sub package (#19711) 2022-06-06 16:01:49 +08:00
user_repo_test.go Move some repository related code into sub package (#19711) 2022-06-06 16:01:49 +08:00
watch.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
watch_test.go Move some repository related code into sub package (#19711) 2022-06-06 16:01:49 +08:00
wiki.go Move repository model into models/repo (#17933) 2021-12-10 09:27:50 +08:00
wiki_test.go Move some repository related code into sub package (#19711) 2022-06-06 16:01:49 +08:00