mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 03:02:14 +01:00 
			
		
		
		
	Only check for non-finished migrating task (#19601)
* Only check for non-finished migrating task - Only check if a non-finished migrating task exists for a mirror before fetching the mirror details from the database. - Resolves #19600 - Regression: #19588 * Clarify function
This commit is contained in:
		
							parent
							
								
									9c04da37d0
								
							
						
					
					
						commit
						3114cd30b8
					
				| @ -181,12 +181,12 @@ func GetMigratingTask(repoID int64) (*Task, error) { | ||||
| 	return &task, nil | ||||
| } | ||||
| 
 | ||||
| // HasMigratingTask returns if migrating task exist for repo. | ||||
| func HasMigratingTask(repoID int64) (bool, error) { | ||||
| 	return db.GetEngine(db.DefaultContext).Exist(&Task{ | ||||
| 		RepoID: repoID, | ||||
| 		Type:   structs.TaskTypeMigrateRepo, | ||||
| 	}) | ||||
| // HasFinishedMigratingTask returns if a finished migration task exists for the repo. | ||||
| func HasFinishedMigratingTask(repoID int64) (bool, error) { | ||||
| 	return db.GetEngine(db.DefaultContext). | ||||
| 		Where("repo_id=? AND type=? AND status=?", repoID, structs.TaskTypeMigrateRepo, structs.TaskStatusFinished). | ||||
| 		Table("task"). | ||||
| 		Exist() | ||||
| } | ||||
| 
 | ||||
| // GetMigratingTaskByID returns the migrating task by repo's id | ||||
|  | ||||
| @ -371,14 +371,14 @@ func repoAssignment(ctx *Context, repo *repo_model.Repository) { | ||||
| 
 | ||||
| 	if repo.IsMirror { | ||||
| 
 | ||||
| 		// Check if there's a migrating task. | ||||
| 		// If it does exist, don't fetch the Mirror from the database as it doesn't exist yet. | ||||
| 		hasTask, err := models.HasMigratingTask(repo.ID) | ||||
| 		// Check if the mirror has finsihed migrationg, only then we can | ||||
| 		// lookup the mirror informtation the database. | ||||
| 		finishedMigrating, err := models.HasFinishedMigratingTask(repo.ID) | ||||
| 		if err != nil { | ||||
| 			ctx.ServerError("GetMirrorByRepoID", err) | ||||
| 			ctx.ServerError("HasFinishedMigratingTask", err) | ||||
| 			return | ||||
| 		} | ||||
| 		if !hasTask { | ||||
| 		if finishedMigrating { | ||||
| 			ctx.Repo.Mirror, err = repo_model.GetMirrorByRepoID(repo.ID) | ||||
| 			if err != nil { | ||||
| 				ctx.ServerError("GetMirrorByRepoID", err) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user