From ab6583b69bcd4241290677a833ddcdb510daeced Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Fri, 18 Sep 2020 14:43:56 +0200 Subject: [PATCH] merge: Expose recursion limit merge option (#642) The `recursion_limit` merge option provided by libgit2 is currently not exposed and thus inaccessible to Git2Go users. Let's expose it to let users control creation of recursive merge bases. (cherry picked from commit 7e726fda6ec2b5d773e5a8b54ed06378a53c0f7f) --- merge.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/merge.go b/merge.go index 4f097b7..da1c3d6 100644 --- a/merge.go +++ b/merge.go @@ -142,6 +142,7 @@ type MergeOptions struct { RenameThreshold uint TargetLimit uint + RecursionLimit uint FileFavor MergeFileFavor //TODO: Diff similarity metric @@ -153,6 +154,7 @@ func mergeOptionsFromC(opts *C.git_merge_options) MergeOptions { TreeFlags: MergeTreeFlag(opts.flags), RenameThreshold: uint(opts.rename_threshold), TargetLimit: uint(opts.target_limit), + RecursionLimit: uint(opts.recursion_limit), FileFavor: MergeFileFavor(opts.file_favor), } } @@ -179,6 +181,7 @@ func (mo *MergeOptions) toC() *C.git_merge_options { flags: C.git_merge_flag_t(mo.TreeFlags), rename_threshold: C.uint(mo.RenameThreshold), target_limit: C.uint(mo.TargetLimit), + recursion_limit: C.uint(mo.RecursionLimit), file_favor: C.git_merge_file_favor_t(mo.FileFavor), } }