mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-11-03 16:01:11 +00:00 
			
		
		
		
	With this option, it is possible to require a linear commit history with the following benefits over the next best option `Rebase+fast-forward`: The original commits continue existing, with the original signatures continuing to stay valid instead of being rewritten, there is no merge commit, and reverting commits becomes easier. Closes #24906
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2021 The Gitea Authors. All rights reserved.
 | 
						|
// SPDX-License-Identifier: MIT
 | 
						|
 | 
						|
package repo
 | 
						|
 | 
						|
import (
 | 
						|
	"context"
 | 
						|
 | 
						|
	"code.gitea.io/gitea/models/db"
 | 
						|
)
 | 
						|
 | 
						|
// MergeStyle represents the approach to merge commits into base branch.
 | 
						|
type MergeStyle string
 | 
						|
 | 
						|
const (
 | 
						|
	// MergeStyleMerge create merge commit
 | 
						|
	MergeStyleMerge MergeStyle = "merge"
 | 
						|
	// MergeStyleRebase rebase before merging, and fast-forward
 | 
						|
	MergeStyleRebase MergeStyle = "rebase"
 | 
						|
	// MergeStyleRebaseMerge rebase before merging with merge commit (--no-ff)
 | 
						|
	MergeStyleRebaseMerge MergeStyle = "rebase-merge"
 | 
						|
	// MergeStyleSquash squash commits into single commit before merging
 | 
						|
	MergeStyleSquash MergeStyle = "squash"
 | 
						|
	// MergeStyleFastForwardOnly fast-forward merge if possible, otherwise fail
 | 
						|
	MergeStyleFastForwardOnly MergeStyle = "fast-forward-only"
 | 
						|
	// MergeStyleManuallyMerged pr has been merged manually, just mark it as merged directly
 | 
						|
	MergeStyleManuallyMerged MergeStyle = "manually-merged"
 | 
						|
	// MergeStyleRebaseUpdate not a merge style, used to update pull head by rebase
 | 
						|
	MergeStyleRebaseUpdate MergeStyle = "rebase-update-only"
 | 
						|
)
 | 
						|
 | 
						|
// UpdateDefaultBranch updates the default branch
 | 
						|
func UpdateDefaultBranch(ctx context.Context, repo *Repository) error {
 | 
						|
	_, err := db.GetEngine(ctx).ID(repo.ID).Cols("default_branch").Update(repo)
 | 
						|
	return err
 | 
						|
}
 |