Re: [PATCH v2 1/5] xdiff-interface: refactor parsing of merge.conflictstyle
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 14, 2024, 17:19 UTC
- Message-ID
- <xmqqwmq4vihw.fsf@gitster.g>
- In-Reply-To
- <629e577879c550aafffeb0f75a64c9a2a95df512.1710435907.git.gitgitgadget@gmail.com>
"Phillip Wood via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 35 quoted lines
> From: Phillip Wood <phillip.wood@dunelm.org.uk>
>
> Factor out the code that parses of conflict style name so it can be
> reused in a later commit that wants to parse the name given on the
> command line.
>
> Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
> ---
> xdiff-interface.c | 29 ++++++++++++++++++-----------
> xdiff-interface.h | 1 +
> 2 files changed, 19 insertions(+), 11 deletions(-)
>
> diff --git a/xdiff-interface.c b/xdiff-interface.c
> index 3162f517434..16ed8ac4928 100644
> --- a/xdiff-interface.c
> +++ b/xdiff-interface.c
> @@ -305,6 +305,22 @@ int xdiff_compare_lines(const char *l1, long s1,
> return xdl_recmatch(l1, s1, l2, s2, flags);
> }
>
> +int parse_conflict_style_name(const char *value)
> +{
> + if (!strcmp(value, "diff3"))
> + return XDL_MERGE_DIFF3;
> + else if (!strcmp(value, "zdiff3"))
> + return XDL_MERGE_ZEALOUS_DIFF3;
> + else if (!strcmp(value, "merge"))
> + return 0;
> + /*
> + * Please update _git_checkout() in git-completion.bash when
> + * you add new merge config
> + */
> + else
> + return -1;
> +}As these symbols are now more public, it is tempting to leave a #leftoverbits mark to remind us to clean them up by adding XDL_MERGE_MERGE (instead of 0) and XDL_MERGE_UNKNOWN (instead of -1) after the dust settles. That would have made reading later patches in the series a little less puzzling.
But within the scope of this series, the above is perfect, faithful refactoring of the original.