mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 11:07:18 -04:00 
			
		
		
		
	Add missing transaction when set merge (#33113)
backport from #33079 `SetMerged` should be in a database transaction otherwise it's possible to have dirty data.
This commit is contained in:
		| @@ -301,10 +301,15 @@ func manuallyMerged(ctx context.Context, pr *issues_model.PullRequest) bool { | |||||||
| 	pr.Merger = merger | 	pr.Merger = merger | ||||||
| 	pr.MergerID = merger.ID | 	pr.MergerID = merger.ID | ||||||
|  |  | ||||||
|  | 	if err := db.WithTx(ctx, func(ctx context.Context) error { | ||||||
| 		if merged, err := pr.SetMerged(ctx); err != nil { | 		if merged, err := pr.SetMerged(ctx); err != nil { | ||||||
| 		log.Error("%-v setMerged : %v", pr, err) | 			return err | ||||||
| 		return false |  | ||||||
| 		} else if !merged { | 		} else if !merged { | ||||||
|  | 			return errors.New("setMerged failed") | ||||||
|  | 		} | ||||||
|  | 		return nil | ||||||
|  | 	}); err != nil { | ||||||
|  | 		log.Error("%-v setMerged : %v", pr, err) | ||||||
| 		return false | 		return false | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user