merge: introduce {copy|clear}_merge_options()
When mostly the same set of options are to be used to perform multiple merges, one instance of the merge_options structure may want to be created and used by copying from the same template instance. We saw such a use recently in "git merge-tree". Let's make the pattern official by introducing copy_merge_options() as a supported way to make a copy of the structure, and also give clear_merge_options() to release any resources held by a copied instance. Currently we only make a shallow copy, so the former is a mere structure assignment while the latter is a no-op, but this may change in the future as the members of merge_options structure evolve. Suggested-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
@ -55,6 +55,9 @@ struct merge_options {
|
||||
|
||||
void init_merge_options(struct merge_options *opt, struct repository *repo);
|
||||
|
||||
void copy_merge_options(struct merge_options *dst, struct merge_options *src);
|
||||
void clear_merge_options(struct merge_options *opt);
|
||||
|
||||
/* parse the option in s and update the relevant field of opt */
|
||||
int parse_merge_opt(struct merge_options *opt, const char *s);
|
||||
|
||||
|
Reference in New Issue
Block a user