mbox series

[0/4] checkout: cleanup --conflict=

Message ID pull.1684.git.1709907270.gitgitgadget@gmail.com (mailing list archive)
Headers show
Series checkout: cleanup --conflict= | expand

Message

Derrick Stolee via GitGitGadget March 8, 2024, 2:14 p.m. UTC
Phillip Wood (4):
  xdiff-interface: refactor parsing of merge.conflictstyle
  merge-ll: introduce LL_MERGE_OPTIONS_INIT
  merge options: add a conflict style member
  checkout: cleanup --conflict=<style> parsing

 builtin/checkout.c | 40 +++++++++++++++++++++-------------------
 merge-ll.c         |  6 ++++--
 merge-ll.h         |  5 +++++
 merge-ort.c        |  3 ++-
 merge-recursive.c  |  5 ++++-
 merge-recursive.h  |  1 +
 t/t7201-co.sh      |  6 ++++++
 xdiff-interface.c  | 29 ++++++++++++++++++-----------
 xdiff-interface.h  |  1 +
 9 files changed, 62 insertions(+), 34 deletions(-)


base-commit: b387623c12f3f4a376e4d35a610fd3e55d7ea907
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1684%2Fphillipwood%2Frefactor-conflict-style-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1684/phillipwood/refactor-conflict-style-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1684

Comments

Junio C Hamano March 8, 2024, 3:44 p.m. UTC | #1
"Phillip Wood via GitGitGadget" <gitgitgadget@gmail.com> writes:

Here is a place to say why this series exists.  Saying things like
"'checkout --conflict=bad' gives a wrong error message, as if the
inalid conflict style were given by a configuration variable, and
this is to fix that bug".

> Phillip Wood (4):
>   xdiff-interface: refactor parsing of merge.conflictstyle
>   merge-ll: introduce LL_MERGE_OPTIONS_INIT
>   merge options: add a conflict style member
>   checkout: cleanup --conflict=<style> parsing
>
>  builtin/checkout.c | 40 +++++++++++++++++++++-------------------
>  merge-ll.c         |  6 ++++--
>  merge-ll.h         |  5 +++++
>  merge-ort.c        |  3 ++-
>  merge-recursive.c  |  5 ++++-
>  merge-recursive.h  |  1 +
>  t/t7201-co.sh      |  6 ++++++
>  xdiff-interface.c  | 29 ++++++++++++++++++-----------
>  xdiff-interface.h  |  1 +
>  9 files changed, 62 insertions(+), 34 deletions(-)
>
>
> base-commit: b387623c12f3f4a376e4d35a610fd3e55d7ea907
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1684%2Fphillipwood%2Frefactor-conflict-style-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1684/phillipwood/refactor-conflict-style-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/1684
Phillip Wood March 8, 2024, 4:07 p.m. UTC | #2
Hi Junio

[cc Johannes for the gitgitgadget issue]

On 08/03/2024 15:44, Junio C Hamano wrote:
> "Phillip Wood via GitGitGadget" <gitgitgadget@gmail.com> writes:
> 
> Here is a place to say why this series exists.  Saying things like
> "'checkout --conflict=bad' gives a wrong error message, as if the
> inalid conflict style were given by a configuration variable, and
> this is to fix that bug".

Sorry, I'm not sure what happen there, I definitely entered a 
cover-letter on the gitgitgadget PR:


Passing an invalid conflict style name such as "--conflict=bad" to "git 
checkout" gives the error message

error: unknown style 'bad' given for 'merge.conflictstyle'

which is unfortunate as it talks about a config setting rather than the 
option given on the command line. This series refactors the 
implementation to pass the conflict style down the call chain to the 
merge machinery rather than abusing the config setting.


Best Wishes

Phillip

>> Phillip Wood (4):
>>    xdiff-interface: refactor parsing of merge.conflictstyle
>>    merge-ll: introduce LL_MERGE_OPTIONS_INIT
>>    merge options: add a conflict style member
>>    checkout: cleanup --conflict=<style> parsing
>>
>>   builtin/checkout.c | 40 +++++++++++++++++++++-------------------
>>   merge-ll.c         |  6 ++++--
>>   merge-ll.h         |  5 +++++
>>   merge-ort.c        |  3 ++-
>>   merge-recursive.c  |  5 ++++-
>>   merge-recursive.h  |  1 +
>>   t/t7201-co.sh      |  6 ++++++
>>   xdiff-interface.c  | 29 ++++++++++++++++++-----------
>>   xdiff-interface.h  |  1 +
>>   9 files changed, 62 insertions(+), 34 deletions(-)
>>
>>
>> base-commit: b387623c12f3f4a376e4d35a610fd3e55d7ea907
>> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1684%2Fphillipwood%2Frefactor-conflict-style-v1
>> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1684/phillipwood/refactor-conflict-style-v1
>> Pull-Request: https://github.com/gitgitgadget/git/pull/1684