Skip to content
  • Matt McCutchen's avatar
    merge-recursive: make "CONFLICT (rename/delete)" message show both paths · b26d87f2
    Matt McCutchen authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    The current message printed by "git merge-recursive" for a rename/delete
    conflict is like this:
    
    CONFLICT (rename/delete): new-path deleted in HEAD and renamed in
    other-branch. Version other-branch of new-path left in tree.
    
    To be more helpful, the message should show both paths of the rename and
    state that the deletion occurred at the old path, not the new path.  So
    change the message to the following format:
    
    CONFLICT (rename/delete): old-path deleted in HEAD and renamed to
    new-path in other-branch. Version other-branch of new-path left in tree.
    
    Since this doubles the number of cases in handle_change_delete (modify vs.
    rename), refactor the code to halve the number of cases again by merging the
    cases where o->branch1 has the change and o->branch2 has the delete with the
    cases that are the other way around.
    
    Also add a simple test of the new conflict message.
    
    Signed-off-by: Matt McCutchen's avatarMatt McCutchen <matt@mattmccutchen.net>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    b26d87f2