Re: [PATCH v2 0/7] Fix and improve some error codepaths in merge-ort

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

 



On 6/18/24 11:00 PM, Elijah Newren via GitGitGadget wrote:
This series started as a just a fix for the abort hit in merge-ort when
custom merge drivers error out (see
https://lore.kernel.org/git/75F8BD12-7743-4863-B4C5-049FDEC4645E@xxxxxxxxxxx/).
However, while working on that, I found a few other issues around error
codepaths in merge-ort. So this series:

  * Patches 1-2: fix the reported abort problem
  * Patches 3-4: make code in handle_content_merges() easier to handle when
    we hit errors
  * Patch 5: fix a misleading comment
  * Patches 6-7: make error handling (immediate print vs. letting callers get
    the error information) more consistent

I saw this in Junio's email about series requiring review, so I took a
look despite missing v1. Stepping through each commit in my local copy
helped make sure that these changes were correct in their proper context.

The last two patches change the behavior slightly for error codepaths, and
there's a question about whether we should show only the error messages that
caused an early termination of the merge, or if we should also show any
conflict messages for other paths that were handled before we hit the early
termination. These patches made a decision but feel free to take those last
two patches as more of an RFC.

I also support this change in the final two patches.

One thing I mentioned in an earlier reply was "why not use an
enum in this tri-state 'clean' variable?" and then I tried to
make just such a patch. There were two problems:

 1. There were hundreds of changes that would be difficult to
    do in small bits (but maybe doable).

 2. There is already an 'enum ll_merge_result' in merge-ll.h
    that is silently passed back from merge_3way() in merge-ort.c.
    While it's technically four states, maybe it would suffice to
    use that enum instead of creating a new one.

But I'll leave that as something to think about another time. It
does not change the merit of this series. I left a note about
another "&=" case that wasn't touched, but it's not wrong as-is.

Thanks,
-Stolee




[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