• Show log

    Commit

  • Hash : 2a99df69
    Author : Russell Belfer
    Date : 2012-05-24T17:14:56

    Fix bugs for status with spaces and reloaded attrs
    
    This fixes two bugs:
    
    * Issue #728 where git_status_file was not working for files
      that contain spaces.  This was caused by reusing the "fnmatch"
      parsing code from ignore and attribute files to interpret the
      "pathspec" that constrained the files to apply the status to.
      In that code, unescaped whitespace was considered terminal to
      the pattern, so a file with internal whitespace was excluded
      from the matched files.  The fix was to add a mode to that code
      that allows spaces and tabs inside patterns.  This mode only
      comes into play when parsing in-memory strings.
    
    * The other issue was undetected, but it was in the recently
      added code to reload gitattributes / gitignores when they were
      changed on disk.  That code was not clearing out the old values
      from the cached file content before reparsing which meant that
      newly added patterns would be read in, but deleted patterns
      would not be removed.  The fix was to clear the vector of
      patterns in a cached file before reparsing the file.