• Show log

    Commit

  • Hash : febe8c14
    Author : Patrick Steinhardt
    Date : 2017-05-10T14:27:12

    index: fix confusion with shared prefix in compressed path names
    
    The index version 4 introduced compressed path names for the entries.
    From the git.git index-format documentation:
    
        At the beginning of an entry, an integer N in the variable width
        encoding [...] is stored, followed by a NUL-terminated string S.
        Removing N bytes from the end of the path name for the previous
        entry, and replacing it with the string S yields the path name for
        this entry.
    
    But instead of stripping N bytes from the previous path's string and
    using the remaining prefix, we were instead simply concatenating the
    previous path with the current entry path, which is obviously wrong.
    
    Fix the issue by correctly copying the first N bytes of the previous
    entry only and concatenating the result with our current entry's path.