• Junio C Hamano's avatar
    Merge branch 'en/merge-directory-renames' into next · fd5b4f57
    Junio C Hamano authored
    "git merge-recursive" backend recently learned a new heuristics to
    infer file movement based on how other files in the same directory
    moved.  As this is inherently less robust heuristics than the one
    based on the content similarity of the file itself (rather than
    based on what its neighbours are doing), it sometimes gives an
    outcome unexpected by the end users.  This has been toned down to
    leave the renamed paths in higher/conflicted stages in the index so
    that the user can examine and confirm the result.
    * en/merge-directory-renames:
      merge-recursive: switch directory rename detection default
      merge-recursive: give callers of handle_content_merge() access to contents
      merge-recursive: track information associated with directory renames
      t6043: fix copied test description to match its purpose
      merge-recursive: switch from (oid,mode) pairs to a diff_filespec
      merge-recursive: cleanup handle_rename_* function signatures
      merge-recursive: track branch where rename occurred in rename struct
      merge-recursive: remove ren[12]_other fields from rename_conflict_info
      merge-recursive: shrink rename_conflict_info
      merge-recursive: move some struct declarations together
      merge-recursive: use 'ci' for rename_conflict_info variable name
      merge-recursive: rename locals 'o' and 'a' to 'obuf' and 'abuf'
      merge-recursive: rename diff_filespec 'one' to 'o'
      merge-recursive: rename merge_options argument from 'o' to 'opt'
      Use 'unsigned short' for mode, like diff_filespec does
notes.c 36.3 KB