gitea/models/repo
Lunny Xiao a100ac3306
Rework create/fork/adopt/generate repository to make sure resources will be cleanup once failed (#31035)
Fix #28144 

To make the resources will be cleanup once failed. All repository
operations now follow a consistent pattern:

- 1. Create a database record for the repository with the status
being_migrated.
- 2. Register a deferred cleanup function to delete the repository and
its related data if the operation fails.
- 3.	Perform the actual Git and database operations step by step.
- 4. Upon successful completion, update the repository’s status to
ready.

The adopt operation is a special case — if it fails, the repository on
disk should not be deleted.
2025-04-07 22:12:54 +07:00
..
archiver.go Refactor error system (#33771) 2025-03-03 05:36:10 +07:00
attachment.go Enable addtional linters (#34085) 2025-04-01 10:14:01 +07:00
attachment_test.go
avatar.go Enable addtional linters (#34085) 2025-04-01 10:14:01 +07:00
avatar_test.go Fix duplicate sub-path for avatars (#31365) 2024-06-15 11:43:57 +07:00
collaboration.go Add user blocking (#29028) 2024-03-04 08:16:03 +07:00
collaboration_test.go Enable testifylint rules (#34075) 2025-03-31 01:53:48 +07:00
fork.go Refactor find forks and fix possible bugs that weak permissions check (#32528) 2024-11-18 03:06:25 +07:00
fork_test.go
git.go Add merge style `fast-forward-only` (#28954) 2024-02-12 23:37:23 +07:00
issue.go Clean up log messages (#30313) 2024-04-07 19:17:06 +07:00
language_stats.go
license.go Fix missing license when sync mirror (#33255) 2025-01-14 05:44:12 +07:00
main_test.go
mirror.go
org_repo.go Decouple context from repository related structs (#33823) 2025-03-08 13:12:46 +07:00
pushmirror.go Refactor push mirror find and add check for updating push mirror (#32539) 2024-11-18 05:59:04 +07:00
pushmirror_test.go
redirect.go
redirect_test.go
release.go Rework create/fork/adopt/generate repository to make sure resources will be cleanup once failed (#31035) 2025-04-07 22:12:54 +07:00
release_test.go Add tag name in the commits list (#31082) 2024-08-19 17:04:06 +07:00
repo.go Fix markdown render behaviors (#34122) 2025-04-05 11:56:48 +07:00
repo_indexer.go Add support for sha256 repositories (#23894) 2024-01-19 17:05:02 +07:00
repo_list.go Small refactor to reduce unnecessary database queries and remove duplicated functions (#33779) 2025-03-04 18:25:20 +07:00
repo_list_test.go Allow code search by filename (#32210) 2024-10-11 23:35:04 +07:00
repo_test.go Fix markdown render behaviors (#34122) 2025-04-05 11:56:48 +07:00
repo_unit.go Enable addtional linters (#34085) 2025-04-01 10:14:01 +07:00
repo_unit_test.go Enable testifylint rules (#34075) 2025-03-31 01:53:48 +07:00
search.go Fix `recentupdate` sorting bugs (#32505) 2024-11-15 04:36:22 +07:00
star.go Add user blocking (#29028) 2024-03-04 08:16:03 +07:00
star_test.go Enable tenv and testifylint rules (#32852) 2024-12-15 10:41:29 +07:00
topic.go Refactor topic Find functions and add more tests for pagination (#30127) 2024-03-29 11:38:16 +07:00
topic_test.go Enable testifylint rules (#34075) 2025-03-31 01:53:48 +07:00
transfer.go Refactor repository transfer (#33211) 2025-01-30 05:40:44 +07:00
update.go fix empty repo updated time (#33120) 2025-01-07 01:54:06 +07:00
upload.go Use filepath.Join instead of path.Join for file system file operations (#33978) 2025-03-24 14:50:28 +07:00
user_repo.go Fix some user name usages (#33689) 2025-02-23 12:33:43 +07:00
user_repo_test.go Fix some user name usages (#33689) 2025-02-23 12:33:43 +07:00
watch.go Add user blocking (#29028) 2024-03-04 08:16:03 +07:00
watch_test.go Enable testifylint rules (#34075) 2025-03-31 01:53:48 +07:00
wiki.go Enable addtional linters (#34085) 2025-04-01 10:14:01 +07:00
wiki_test.go Use test context in tests and new loop system in benchmarks (#33648) 2025-02-20 09:57:40 +07:00