1. 07 Jun, 2012 2 commits
    • Fix git_status_file for files that start with a character > 0x7f · 8e60c712
      git_status_file would always return GIT_ENOTFOUND for these files.
      
      The underlying bug was that git__strcmp_cb, which is used by
      git_path_with_stat_cmp to sort entries in the working directory,
      compares strings based on unsigned chars (this is confirmed by the
      strcmp(3) manpage), while git__prefixcmp, which is used by
      workdir_iterator__entry_cmp to search for a path in the working
      directory, compares strings based on char. So the sort puts this path at
      the end of the list, while the search expects it to be at the beginning.
      
      The fix was simply to make git__prefixcmp compare using unsigned chars,
      just like strcmp(3). The rest of the change is just adding/updating
      tests.
      Adam Roben committed
    • Ingore clar_main.c.rule · b9f78cb8
      Adam Roben committed
  2. 06 Jun, 2012 1 commit
  3. 05 Jun, 2012 8 commits
  4. 04 Jun, 2012 3 commits
  5. 02 Jun, 2012 2 commits
  6. 01 Jun, 2012 1 commit
  7. 31 May, 2012 1 commit
  8. 29 May, 2012 2 commits
  9. 27 May, 2012 5 commits
  10. 26 May, 2012 3 commits
  11. 25 May, 2012 3 commits
    • Make errors for system and global files consistent · 29ef309e
      The error codes from failed lookups of system and global files
      on Windows were not consistent with the codes returned on other
      platforms.  This makes the error detection patterns match and
      adds a unit test for the various errors.
      Russell Belfer committed
    • Merge pull request #729 from arrbee/fix-728 · 4728b55a
      Fix bugs for status
      Vicent Martí committed
    • Fix bugs for status with spaces and reloaded attrs · 2a99df69
      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.
      Russell Belfer committed
  12. 24 May, 2012 9 commits