@ -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 {