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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux