summaryrefslogtreecommitdiffstats
path: root/services/convert
diff options
context:
space:
mode:
authorChris Copeland <chris@chrisnc.net>2024-02-12 14:37:23 -0800
committerGitHub <noreply@github.com>2024-02-12 23:37:23 +0100
commit47b59658629f47e0ac559559a305b867740cae9c (patch)
tree5bc0102a155565f1b813609082d9ae23712e0d65 /services/convert
parentf9c3459831659d37fd885dd1a9db32dcf19420e4 (diff)
downloadgitea-47b59658629f47e0ac559559a305b867740cae9c.tar.gz
gitea-47b59658629f47e0ac559559a305b867740cae9c.zip
Add merge style `fast-forward-only` (#28954)
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
Diffstat (limited to 'services/convert')
-rw-r--r--services/convert/repository.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/services/convert/repository.go b/services/convert/repository.go
index c16180c0af..9184bc05c7 100644
--- a/services/convert/repository.go
+++ b/services/convert/repository.go
@@ -93,6 +93,7 @@ func innerToRepo(ctx context.Context, repo *repo_model.Repository, permissionInR
allowRebase := false
allowRebaseMerge := false
allowSquash := false
+ allowFastForwardOnly := false
allowRebaseUpdate := false
defaultDeleteBranchAfterMerge := false
defaultMergeStyle := repo_model.MergeStyleMerge
@@ -105,6 +106,7 @@ func innerToRepo(ctx context.Context, repo *repo_model.Repository, permissionInR
allowRebase = config.AllowRebase
allowRebaseMerge = config.AllowRebaseMerge
allowSquash = config.AllowSquash
+ allowFastForwardOnly = config.AllowFastForwardOnly
allowRebaseUpdate = config.AllowRebaseUpdate
defaultDeleteBranchAfterMerge = config.DefaultDeleteBranchAfterMerge
defaultMergeStyle = config.GetDefaultMergeStyle()
@@ -219,6 +221,7 @@ func innerToRepo(ctx context.Context, repo *repo_model.Repository, permissionInR
AllowRebase: allowRebase,
AllowRebaseMerge: allowRebaseMerge,
AllowSquash: allowSquash,
+ AllowFastForwardOnly: allowFastForwardOnly,
AllowRebaseUpdate: allowRebaseUpdate,
DefaultDeleteBranchAfterMerge: defaultDeleteBranchAfterMerge,
DefaultMergeStyle: string(defaultMergeStyle),