Skip to content
  • Junio C Hamano's avatar
    rerere: adjust 'forget' to multi-variant world order · 890fca84
    Junio C Hamano authored
    
    
    Because conflicts with the same contents inside conflict blocks
    enclosed by "<<<<<<<" and ">>>>>>>" can now have multiple variants
    to help three-way merge to adjust to the differences outside the
    conflict blocks, "rerere forget $path" needs to be taught that there
    may be multiple recorded resolutions that share the same conflict
    hash (which groups the conflicts with "the same contents inside
    conflict blocks"), among which there are some that would not be
    relevant to the conflict we are looking at.  These "other variants"
    that happen to share the same conflict hash should not be cleared,
    and the variant that would apply to the current conflict may not be
    the zero-th one (which is the only one that is cleared by the
    current code).
    
    After finding the conflict hash, iterate over the existing variants
    and try to resolve the conflict using each of them to find the one
    that "cleanly" resolves the current conflict.  That is the one we
    want to forget and record the preimage for, so that the user can
    record the corrected resolution.
    
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    890fca84