• Show log

    Commit

  • Hash : 251d8771
    Author : Patrick Steinhardt
    Date : 2018-04-06T12:24:10

    attr_file: fix handling of directory patterns with trailing spaces
    
    When comparing whether a path matches a directory rule, we pass the
    both the path and directory name to `fnmatch` with
    `GIT_ATTR_FNMATCH_DIRECTORY` being set. `fnmatch` expects the pattern to
    contain no trailing directory '/', which is why we try to always strip
    patterns of trailing slashes. We do not handle that case correctly
    though when the pattern itself has trailing spaces, causing the match to
    fail.
    
    Fix the issue by stripping trailing spaces and tabs for a rule previous
    to checking whether the pattern is a directory pattern with a trailing
    '/'. This replaces the whitespace-stripping in our ignore file parsing
    code, which was stripping whitespaces too late. Add a test to catch
    future breakage.