Skip to content
  • Junio C Hamano's avatar
    Merge branch 'en/rename-directory-detection' · e4bb62fa
    Junio C Hamano authored
    Rename detection logic in "diff" family that is used in "merge" has
    learned to guess when all of x/a, x/b and x/c have moved to z/a,
    z/b and z/c, it is likely that x/d added in the meantime would also
    want to move to z/d by taking the hint that the entire directory
    'x' moved to 'z'.  A bug causing dirty files involved in a rename
    to be overwritten during merge has also been fixed as part of this
    work.
    
    * en/rename-directory-detection: (29 commits)
      merge-recursive: ensure we write updates for directory-renamed file
      merge-recursive: avoid spurious rename/rename conflict from dir renames
      directory rename detection: new testcases showcasing a pair of bugs
      merge-recursive: fix remaining directory rename + dirty overwrite cases
      merge-recursive: fix overwriting dirty files involved in renames
      merge-recursive: avoid clobbering untracked files with directory renames
      merge-recursive: apply necessary modifications for directory renames
      merge-recursive: when comparing files, don't include trees
      merge-recursive: check for file level conflicts then get new name
      merge-recursive: add computation of collisions due to dir rename & merging
      merge-recursive: check for directory level conflicts
      merge-recursive: add get_directory_renames()
      merge-recursive: make a helper function for cleanup for handle_renames
      merge-recursive: split out code for determining diff_filepairs
      merge-recursive: make !o->detect_rename codepath more obvious
      merge-recursive: fix leaks of allocated renames and diff_filepairs
      merge-recursive: introduce new functions to handle rename logic
      merge-recursive: move the get_renames() function
      directory rename detection: tests for handling overwriting dirty files
      directory rename detection: tests for handling overwriting untracked files
      ...
    e4bb62fa