mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Fix bug when deleting a migrated branch (#32075)
After migrating a repository with pull request, the branch is missed and after the pull request merged, the branch cannot be deleted.
This commit is contained in:
		| @@ -483,13 +483,12 @@ func DeleteBranch(ctx context.Context, doer *user_model.User, repo *repo_model.R | ||||
| 	} | ||||
|  | ||||
| 	rawBranch, err := git_model.GetBranch(ctx, repo.ID, branchName) | ||||
| 	if err != nil { | ||||
| 	if err != nil && !git_model.IsErrBranchNotExist(err) { | ||||
| 		return fmt.Errorf("GetBranch: %vc", err) | ||||
| 	} | ||||
|  | ||||
| 	if rawBranch.IsDeleted { | ||||
| 		return nil | ||||
| 	} | ||||
| 	// database branch record not exist or it's a deleted branch | ||||
| 	notExist := git_model.IsErrBranchNotExist(err) || rawBranch.IsDeleted | ||||
|  | ||||
| 	commit, err := gitRepo.GetBranchCommit(branchName) | ||||
| 	if err != nil { | ||||
| @@ -497,8 +496,10 @@ func DeleteBranch(ctx context.Context, doer *user_model.User, repo *repo_model.R | ||||
| 	} | ||||
|  | ||||
| 	if err := db.WithTx(ctx, func(ctx context.Context) error { | ||||
| 		if err := git_model.AddDeletedBranch(ctx, repo.ID, branchName, doer.ID); err != nil { | ||||
| 			return err | ||||
| 		if !notExist { | ||||
| 			if err := git_model.AddDeletedBranch(ctx, repo.ID, branchName, doer.ID); err != nil { | ||||
| 				return err | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		return gitRepo.DeleteBranch(branchName, git.DeleteBranchOptions{ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user