forgejo/models
zeripath 7a7f56044a
Adopt repositories (#12920)
* Don't automatically delete repository files if they are present

Prior to this PR Gitea would delete any repository files if they are
present during creation or migration. This can in certain circumstances
lead to data-loss and is slightly unpleasant.

This PR provides a mechanism for Gitea to adopt repositories on creation
and otherwise requires an explicit flag for deletion.

PushCreate is slightly different - the create will cause adoption if
that is allowed otherwise it will delete the data if that is allowed.

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

* Update swagger

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

* Fix tests and migrate overwrite

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

* as per @lunny

Only offer to adopt or overwrite if the user can do that.

Allow the site administrator to adopt or overwrite in all
circumstances

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

* Use setting.Repository.DefaultBranch for the default branch

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

* Always set setting.Repository.DefaultBranch

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

* update swagger

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

* update templates

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

* ensure repo closed

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

* Rewrite of adoption as per @6543 and @lunny

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

* Apply suggestions from code review

* update swagger

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

* missing not

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

* add modals and flash reporting

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

* Make the unadopted page searchable

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

* Add API

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

* Fix swagger

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

* fix swagger

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

* Handle empty and non-master branched repositories

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

* placate lint

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

* remove commented out code

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

Co-authored-by: techknowlogick <techknowlogick@gitea.io>
2020-09-25 07:09:23 +03:00
..
fixtures Use argon as default password hash algorithm (#12688) 2020-09-03 14:58:31 -04:00
migrations Add configurable Trust Models (#11712) 2020-09-20 00:44:55 +08:00
access.go Upgrade xorm to v1.0.0 (#10646) 2020-03-22 11:12:55 -04:00
access_test.go Fix "access" fixtures and tests (#10247) 2020-02-15 12:29:06 +08:00
action.go Make dashboard newsfeed list length a configurable item (#12469) 2020-08-11 10:48:13 -04:00
action_list.go refactor: reduce sql query in retrieveFeeds (#3547) 2018-02-21 18:55:34 +08:00
action_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
admin.go Add a storage layer for attachments (#11387) 2020-08-18 12:23:45 +08:00
admin_test.go Fix tests code to prevent some runtime errors (#2381) 2017-08-28 12:17:45 +03:00
attachment.go Add a storage layer for attachments (#11387) 2020-08-18 12:23:45 +08:00
attachment_test.go Reading pull attachments should depend on read UnitTypePullRequests (#10346) 2020-02-18 21:36:19 -03:00
avatar.go Open transaction when adding Avatar email-hash pairs to the DB (#12577) 2020-08-24 18:39:18 -04:00
branches.go Rename models.ProtectedBranchRepoID to models.EnvRepoID and ensure EnvPusherEmail is set (#12646) 2020-08-30 08:24:39 +01:00
branches_test.go Add deleted_branch table fixture (#2832) 2017-11-04 15:31:59 +02:00
commit_status.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
commit_status_test.go Fix wrong hint when status checking is running on pull request view (#9886) 2020-01-22 11:46:04 +08:00
consistency.go Add migration to set IsArchived false if it is null (#11853) 2020-06-11 16:18:11 -04:00
context.go Upgrade xorm to v1.0.2 (#11900) 2020-06-15 16:46:01 -04:00
convert.go Whilst changing the character set to utf8mb4 we should set ROW_FORMAT=dynamic too (#12804) 2020-09-11 09:25:06 +01:00
error.go Adopt repositories (#12920) 2020-09-25 07:09:23 +03:00
error_oauth2.go gofmt (#1662) 2017-05-04 13:54:56 +08:00
external_login_user.go Migrate reviews when migrating repository from github (#9463) 2020-01-23 19:28:15 +02:00
fixture_generation.go Move fixture generation to contrib and add test (#10277) 2020-02-15 10:59:43 +02:00
fixture_test.go Move fixture generation to contrib and add test (#10277) 2020-02-15 10:59:43 +02:00
gpg_key.go Add configurable Trust Models (#11712) 2020-09-20 00:44:55 +08:00
gpg_key_test.go Allow addition of gpg keyring with multiple keys (#12487) 2020-08-21 13:45:50 +03:00
helper.go Add reactions to issues/PR and comments (#2856) 2017-12-04 01:14:26 +02:00
helper_directory.go Re-attempt to delete temporary upload if the file is locked by another process (#12447) 2020-08-11 21:05:34 +01:00
helper_environment.go Set setting.AppURL as GITEA_ROOT_URL environment variable during pushes (#12752) 2020-09-06 23:53:42 -04:00
issue.go Fixed count of filtered issues when api request. (#12275) 2020-09-24 19:30:40 -04:00
issue_assignees.go Remove Unused Functions (#10516) 2020-03-02 00:05:44 +02:00
issue_assignees_test.go Fix API Bug (fail on empty assignees) (#8873) 2019-11-10 16:07:21 +08:00
issue_comment.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
issue_comment_list.go Fixed repo link in generated comment for cross repository dependency (#9863) 2020-01-21 10:18:52 +00:00
issue_comment_test.go Pull request review/approval and comment on code (#3748) 2018-08-06 06:43:21 +02:00
issue_dependency.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
issue_dependency_test.go Refactor comment (#9330) 2019-12-15 16:57:34 -05:00
issue_label.go Use ID or Where to instead directly use Get when load object from database (#11925) 2020-06-17 20:50:11 +03:00
issue_label_test.go BugFix: updateLabel can updated not allowed fields #11242 (#11242) 2020-04-28 19:28:56 -04:00
issue_list.go [BugFix] ReviewCount: GetApprovalCounts func sorted wrong (#11086) 2020-04-16 13:44:34 +03:00
issue_list_test.go Add Organization Wide Labels (#10814) 2020-04-01 01:14:46 -03:00
issue_lock.go remove unused method and rename createcommentWithNoAction (#9367) 2019-12-16 11:54:24 +08:00
issue_milestone.go Add Created & Updated to Milestone (#12662) 2020-09-05 13:38:54 -04:00
issue_milestone_test.go Add name filter to API for GetMilestoneList (#12336) 2020-07-28 12:30:40 +01:00
issue_reaction.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
issue_reaction_test.go Migrate reactions when migrating repository from github (#9599) 2020-01-15 12:14:07 +01:00
issue_stopwatch.go Refactor: move Commit To APIFormat Code & Lot of StopWatch related things (#12729) 2020-09-18 20:09:26 +08:00
issue_stopwatch_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
issue_test.go issue search on my related repositories (#9758) 2020-02-29 03:52:05 -03:00
issue_tracked_time.go Fix tracked time issues (#11349) 2020-05-09 11:18:44 -03:00
issue_tracked_time_test.go [API] Extend times API (#9200) 2019-12-27 20:30:58 +00:00
issue_user.go Mail assignee when issue/pull request is assigned (#8546) 2019-10-25 22:46:37 +08:00
issue_user_test.go Add "Update Branch" button to Pull Requests (#9784) 2020-01-17 08:03:40 +02:00
issue_watch.go Add issue subscription check to API (#10967) 2020-04-21 14:48:53 +01:00
issue_watch_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
issue_xref.go remove unused method and rename createcommentWithNoAction (#9367) 2019-12-16 11:54:24 +08:00
issue_xref_test.go Refactor comment (#9330) 2019-12-15 16:57:34 -05:00
lfs.go LFS support to be stored on minio (#12518) 2020-09-08 23:45:10 +08:00
lfs_lock.go Make repository management section handle lfs locks (#8726) 2019-12-12 21:18:07 +08:00
list_options.go Add cron running API (#12421) 2020-08-24 11:48:15 -04:00
log.go Upgrade xorm to v1.0.0 (#10646) 2020-03-22 11:12:55 -04:00
login_source.go Use ID or Where to instead directly use Get when load object from database (#11925) 2020-06-17 20:50:11 +03:00
main_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
migrate.go [BugFix] remove nil inserts in models (#11096) 2020-04-17 20:42:57 +03:00
models.go Add postgres schema to the search_path on database connection (#12634) 2020-09-11 10:30:19 +01:00
models_test.go gitea dump: include version & Check InstallLock (#12760) 2020-09-07 23:27:17 +01:00
notification.go API: NotificationSubject show Issue/Pull State (#12901) 2020-09-20 19:10:53 -04:00
notification_test.go add request review from specific reviewers feature in pull request (#10756) 2020-04-06 19:33:34 +03:00
oauth2.go Changed image of openid-connect logo for better look on arc-green theme (#11312) 2020-05-10 17:55:22 +03:00
oauth2_application.go Use google/uuid to instead satori/go.uuid (#11943) 2020-06-18 17:18:44 +08:00
oauth2_application_test.go OAuth2 Grant UI (#6625) 2019-04-17 16:18:16 +08:00
org.go Fix bug preventing transfer to private organization (#12497) 2020-08-16 16:27:08 -04:00
org_team.go Automatically remove Watches, Assignments, etc if user loses access due to being removed as collaborator or from a team (#10997) 2020-04-07 22:52:01 +01:00
org_team_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
org_test.go Ensure DeleteUser is not allowed to Delete Orgs and visa versa (#10134) 2020-02-04 16:27:18 +02:00
project.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
project_board.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
project_issue.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
project_test.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
pull.go Cache PullRequest Divergence (#10914) 2020-04-14 09:53:34 -04:00
pull_list.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
pull_sign.go Add configurable Trust Models (#11712) 2020-09-20 00:44:55 +08:00
pull_test.go Display pull request head branch even the branch deleted or repository deleted (#10413) 2020-03-02 22:31:55 +00:00
release.go Add email notify for new release (#12463) 2020-08-23 16:03:18 +01:00
repo.go Adopt repositories (#12920) 2020-09-25 07:09:23 +03:00
repo_activity.go Add top author stats to activity page (#9615) 2020-01-20 12:07:30 +02:00
repo_branch.go Move newbranch to standalone package (#9627) 2020-01-14 11:38:04 +08:00
repo_collaboration.go Automatically remove Watches, Assignments, etc if user loses access due to being removed as collaborator or from a team (#10997) 2020-04-07 22:52:01 +01:00
repo_collaboration_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
repo_generate.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
repo_generate_test.go Variable expansion in repository templates (#9163) 2019-11-30 01:54:47 -05:00
repo_indexer.go Index code and stats only for non-empty repositories (#10251) 2020-02-14 13:42:30 +01:00
repo_issue.go Add EnableTimetracking option to app settings (#3719) 2018-04-09 23:15:32 +08:00
repo_language_stats.go Increase size of the language column in language_stat (#12396) 2020-08-04 14:54:29 +01:00
repo_list.go Adopt repositories (#12920) 2020-09-25 07:09:23 +03:00
repo_list_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
repo_mirror.go Move some repository methods from models to modules/repository (#9353) 2019-12-14 18:30:01 +01:00
repo_permission.go Automatically remove Watches, Assignments, etc if user loses access due to being removed as collaborator or from a team (#10997) 2020-04-07 22:52:01 +01:00
repo_permission_test.go fix bug when update owner team then visit team's repo return 404 (#6119) 2019-02-22 11:14:45 -05:00
repo_redirect.go Move repoWorkPool outside rename/transfer repository (#9086) 2019-12-06 12:00:50 +08:00
repo_redirect_test.go Move repoWorkPool outside rename/transfer repository (#9086) 2019-12-06 12:00:50 +08:00
repo_sign.go Add configurable Trust Models (#11712) 2020-09-20 00:44:55 +08:00
repo_test.go Decrease the num_stars when deleting a repo (#11954) 2020-07-07 15:16:34 -04:00
repo_unit.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
repo_watch.go Add action feed for new release (#12324) 2020-07-29 15:20:54 -04:00
repo_watch_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
review.go Update Octicons to v10 (#12240) 2020-07-17 18:15:12 +03:00
review_test.go Update Octicons to v10 (#12240) 2020-07-17 18:15:12 +03:00
ssh_key.go Re-attempt to delete temporary upload if the file is locked by another process (#12447) 2020-08-11 21:05:34 +01:00
ssh_key_test.go Fix SSH2 conditonal in key parsing code (#8806) 2019-11-03 19:08:18 +08:00
star.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
star_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
task.go [API] Migration: Change ServiceType String (#12672) 2020-09-10 23:29:19 +01:00
test_fixtures.go upgrade to use testfixtures v3 (#11904) 2020-06-17 22:07:58 +03:00
token.go [API] Delete Token accept names too (#12366) 2020-08-28 11:09:33 +03:00
token_test.go [API] Delete Token accept names too (#12366) 2020-08-28 11:09:33 +03:00
topic.go Add Primary Key to Topic and RepoTopic (#12639) 2020-09-10 20:45:01 +01:00
topic_test.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
twofactor.go Use ID or Where to instead directly use Get when load object from database (#11925) 2020-06-17 20:50:11 +03:00
u2f.go Display ui time with customize time location (#7792) 2019-08-15 22:46:21 +08:00
u2f_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
unit.go Kanban board (#8346) 2020-08-16 23:07:38 -04:00
unit_tests.go LFS support to be stored on minio (#12518) 2020-09-08 23:45:10 +08:00
update.go Remove Unused Functions (#10516) 2020-03-02 00:05:44 +02:00
upload.go Re-attempt to delete temporary upload if the file is locked by another process (#12447) 2020-08-11 21:05:34 +01:00
user.go Adopt repositories (#12920) 2020-09-25 07:09:23 +03:00
user_follow.go Refactor session close as xorm already does everything needed internally (#2020) 2017-06-21 08:57:05 +08:00
user_follow_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
user_heatmap.go Add hide activity option (#11353) 2020-06-05 16:01:53 -04:00
user_heatmap_test.go Restricted users (#6274) 2020-01-13 18:33:46 +01:00
user_mail.go Use ID or Where to instead directly use Get when load object from database (#11925) 2020-06-17 20:50:11 +03:00
user_mail_test.go Admin page for managing user e-mail activation (#10557) 2020-03-02 15:25:36 -03:00
user_openid.go Use ID or Where to instead directly use Get when load object from database (#11925) 2020-06-17 20:50:11 +03:00
user_openid_test.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
user_test.go Fix "only mail on mention" bug (#12775) 2020-09-09 15:08:55 -04:00
userlist.go API add/generalize pagination (#9452) 2020-01-24 14:00:29 -05:00
userlist_test.go Team permission to create repository in organization (#8312) 2019-11-20 19:27:49 +08:00
webhook.go Use google/uuid to instead satori/go.uuid (#11943) 2020-06-18 17:18:44 +08:00
webhook_test.go Granular webhook events (#9626) 2020-03-06 07:10:48 +02:00
wiki.go Add owner_name column for table repository for maintaince reason (#9717) 2020-01-12 17:36:21 +08:00
wiki_test.go Move wiki related funtions from models to services/wiki (#9355) 2020-01-07 18:27:36 +00:00