Thread (42 messages) 42 messages, 7 authors, 2021-06-17

Re: [PATCH 0/7] Make diff3 the default conflict style

From: Phillip Wood <hidden>
Date: 2021-06-17 17:40:20

On 09/06/2021 20:28, Felipe Contreras wrote:
This patch series turned out much more complicated that simply flipping
the switch and dealing with the consequences. Apparently some commands
are completely ignoring the configuration (notes and merge-tree), and
others are handling it wrong (checkout).

So in preparation I created a new test to make sure these rowdy
commands handle the configuration correctly, and then step by step I fix
them.

Once all the commands are fixed I proceed to cleanup xdiff-interface in
preparation for the switch.

And finally once the switch is flipped the documnetation is updated, and
funch of test scripts receive a temporary configuration that returns
them to the old "merge" (diff2) behavior so they pass with minimum
changes.

I have already written patches to update the tests so no configuration
is needed and they parse the diff3 style directly, but the series is
already quite verbose as it is.

One salient thorn is that from my point of view merge_recursive_config()
is implemtend wrongly and thus can't be called as other configuration
functions, like git_diff_basic_config(). It seems there's a huge area of
opportunity there to clean all that up, but that's for another series.
Regrettably I shall not be commenting further on these or any future 
patches from you. I do not feel it would be a productive use of my time 
as you have not entered into the kind of constructive discussion that is 
the expected norm on this list.

Best Wishes

Phillip
Felipe Contreras (7):
   test: add merge style config test
   merge-tree: fix merge.conflictstyle handling
   notes: fix merge.conflictstyle handling
   checkout: fix merge.conflictstyle handling
   xdiff: rename XDL_MERGE_STYLE_DIFF3
   xdiff: simplify style assignments
   xdiff: make diff3 the default conflictStyle

  Documentation/config/merge.txt           |  12 +--
  Documentation/git-merge-file.txt         |   2 +
  Documentation/git-merge.txt              |  28 ++----
  Documentation/git-rerere.txt             |   2 +-
  Documentation/gitattributes.txt          |   6 +-
  Documentation/technical/rerere.txt       |   3 +-
  Documentation/user-manual.txt            |   6 +-
  builtin/merge-file.c                     |   5 +-
  builtin/merge-recursive.c                |   3 +
  builtin/merge-tree.c                     |   4 +
  builtin/merge.c                          |   4 +
  builtin/notes.c                          |   3 +-
  ll-merge.c                               |   3 +-
  merge-recursive.c                        |   2 +-
  sequencer.c                              |   5 +
  t/t2023-checkout-m.sh                    |   2 +
  t/t3310-notes-merge-manual-resolve.sh    |   2 +
  t/t3311-notes-merge-fanout.sh            |   2 +
  t/t3404-rebase-interactive.sh            |   2 +
  t/t3507-cherry-pick-conflict.sh          |   2 +
  t/t4017-diff-retval.sh                   |   2 +
  t/t4048-diff-combined-binary.sh          |   2 +
  t/t4200-rerere.sh                        |   2 +
  t/t4300-merge-tree.sh                    |   2 +
  t/t6402-merge-rename.sh                  |   2 +
  t/t6403-merge-file.sh                    |   2 +
  t/t6404-recursive-merge.sh               |   2 +
  t/t6416-recursive-corner-cases.sh        |   2 +
  t/t6417-merge-ours-theirs.sh             |   2 +
  t/t6418-merge-text-auto.sh               |   2 +
  t/t6422-merge-rename-corner-cases.sh     |   2 +
  t/t6423-merge-rename-directories.sh      |   1 +
  t/t6428-merge-conflicts-sparse.sh        |   1 +
  t/t6432-merge-recursive-space-options.sh |   2 +
  t/t6440-config-conflict-markers.sh       | 123 +++++++++++++++++++++++
  t/t7201-co.sh                            |   2 +
  t/t7506-status-submodule.sh              |   1 +
  xdiff-interface.c                        |   6 +-
  xdiff/xdiff.h                            |   3 +-
  xdiff/xmerge.c                           |   4 +-
  40 files changed, 217 insertions(+), 46 deletions(-)
  create mode 100755 t/t6440-config-conflict-markers.sh
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help