1. 22 Feb, 2013 1 commit
  2. 16 Feb, 2013 1 commit
    • Clear up warnings from cppcheck · 56543a60
      The cppcheck static analyzer generates warnings for a bunch of
      places in the libgit2 code base.  All the ones fixed in this
      commit are actually false positives, but I've reorganized the
      code to hopefully make it easier for static analysis tools to
      correctly understand the structure.  I wouldn't do this if I
      felt like it was making the code harder to read or worse for
      humans, but in this case, these fixes don't seem too bad and will
      hopefully make it easier for better analysis tools to get at any
      real issues.
      Russell Belfer committed
  3. 11 Feb, 2013 2 commits
  4. 31 Jan, 2013 1 commit
  5. 22 Jan, 2013 2 commits
  6. 21 Jan, 2013 1 commit
  7. 16 Jan, 2013 1 commit
  8. 08 Jan, 2013 1 commit
  9. 05 Jan, 2013 1 commit
  10. 28 Dec, 2012 1 commit
    • Invalid ref name normalization leaked memory · 3865f7f6
      When normalizing a reference name, if there is an error because
      the name is invalid, then the memory allocated for storing the
      name could be leaked if the caller was not careful and assumed
      that the error return code meant that no allocation had occurred.
      
      This fixes that by explicitly deallocating the reference name
      buffer if there is an error in normalizing the name.
      Russell Belfer committed
  11. 18 Dec, 2012 2 commits
  12. 14 Dec, 2012 2 commits
  13. 01 Dec, 2012 2 commits
  14. 27 Nov, 2012 3 commits
  15. 09 Nov, 2012 1 commit
    • Extensions to rmdir and mkdir utilities · 331e7de9
      * Rework GIT_DIRREMOVAL values to GIT_RMDIR flags, allowing
        combinations of flags
      * Add GIT_RMDIR_EMPTY_PARENTS flag to remove parent dirs that
        are left empty after removal
      * Add GIT_MKDIR_VERIFY_DIR to give an error if item is a file,
        not a dir (previously an EEXISTS error was ignored, even for
        files) and enable this flag for git_futils_mkpath2file call
      * Improve accuracy of error messages from git_futils_mkdir
      Russell Belfer committed
  16. 01 Nov, 2012 1 commit
  17. 30 Oct, 2012 1 commit
    • Add git_config_refresh() API to reload config · 744cc03e
      This adds a new API that allows users to reload the config if the
      file has changed on disk.  A new config callback function to
      refresh the config was added.
      
      The modified time and file size are used to test if the file needs
      to be reloaded (and are now stored in the disk backend object).
      
      In writing tests, just using mtime was a problem / race, so I
      wanted to check file size as well.  To support that, I extended
      `git_futils_readbuffer_updated` to optionally check file size in
      addition to mtime, and I added a new function `git_filebuf_stats`
      to fetch the mtime and size for an open filebuf (so that the
      config could be easily refreshed after a write).
      
      Lastly, I moved some similar file checking code for attributes
      into filebuf.  It is still only being used for attrs, but it
      seems potentially reusable, so I thought I'd move it over.
      Russell Belfer committed
  18. 15 Oct, 2012 2 commits
    • Fix leak in the tests · 7ae5ab56
      Also introduce the slective ref trimming promised but also missed in
      the previous commit.
      Carlos Martín Nieto committed
    • refs: loosen the OID parsing · 47f44b6e
      We used to require loose references to contain only an OID (possibly
      after trimming the string). This is however not enough for letting us
      lookup FETCH_HEAD, which can have a lot of content after the initial
      OID.
      
      Change the parsing rules so that a loose refernce must e at least 40
      bytes long and the 41st (if it's there) must be accepted by
      isspace(3). This makes the trim unnecessary, so only do it for
      symrefs. This fixes #977.
      Carlos Martín Nieto committed
  19. 11 Oct, 2012 1 commit
  20. 09 Oct, 2012 1 commit
    • Add complex checkout test and then fix checkout · 0d64bef9
      This started as a complex new test for checkout going through the
      "typechanges" test repository, but that revealed numerous issues
      with checkout, including:
      
      * complete failure with submodules
      * failure to create blobs with exec bits
      * problems when replacing a tree with a blob because the tree
        "example/" sorts after the blob "example" so the delete was
        being processed after the single file blob was created
      
      This fixes most of those problems and includes a number of other
      minor changes that made it easier to do that, including improving
      the TYPECHANGE support in diff/status, etc.
      Russell Belfer committed
  21. 07 Oct, 2012 3 commits
  22. 01 Oct, 2012 1 commit
  23. 30 Sep, 2012 1 commit
  24. 25 Sep, 2012 3 commits
  25. 14 Sep, 2012 1 commit
  26. 06 Sep, 2012 1 commit
  27. 05 Sep, 2012 1 commit
    • Diff iterators · f335ecd6
      This refactors the diff output code so that an iterator object
      can be used to traverse and generate the diffs, instead of just
      the `foreach()` style with callbacks.  The code has been rearranged
      so that the two styles can still share most functions.
      
      This also replaces `GIT_REVWALKOVER` with `GIT_ITEROVER` and uses
      that as a common error code for marking the end of iteration when
      using a iterator style of object.
      Russell Belfer committed
  28. 28 Aug, 2012 1 commit