From 7e726fda6ec2b5d773e5a8b54ed06378a53c0f7f 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. --- merge.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/merge.go b/merge.go index 6ca818e..06bd06d 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.uint32_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), } }