1. 18 Jan, 2013 1 commit
  2. 17 Jan, 2013 1 commit
  3. 13 Jan, 2013 2 commits
  4. 12 Jan, 2013 2 commits
  5. 11 Jan, 2013 2 commits
  6. 10 Jan, 2013 1 commit
  7. 09 Jan, 2013 1 commit
  8. 06 Jan, 2013 1 commit
  9. 05 Jan, 2013 2 commits
  10. 04 Jan, 2013 9 commits
  11. 01 Dec, 2012 1 commit
  12. 30 Nov, 2012 1 commit
  13. 27 Nov, 2012 1 commit
  14. 23 Nov, 2012 1 commit
    • Reset all static variables to NULL in clar's __cleanup · 9094d30b
      Without this change, any failed assertion in the second (or a later) test
      inside a test suite has a chance of double deleting memory, resulting in
      a heap corruption. See #1096 for details.
      
      This leaves alone the test cases where we "just" use cl_git_sandbox_init()
      and cl_git_sandbox_cleanup(). These methods already take good care to not
      double delete a repository.
      
      Fixes #1096
      Sascha Cunz committed
  15. 15 Nov, 2012 1 commit
    • Add explicit git_index ptr to diff and checkout · bbe6dbec
      A number of diff APIs and the `git_checkout_index` API take a
      `git_repository` object an operate on the index.  This updates
      them to take a `git_index` pointer explicitly and only fall back
      on the `git_repository` index if the index input is NULL.  This
      makes it easier to operate on a temporary index.
      Russell Belfer committed
  16. 09 Nov, 2012 2 commits
    • Rework checkout with new strategy options · ad9a921b
      This is a major reworking of checkout strategy options.  The
      checkout code is now sensitive to the contents of the HEAD tree
      and the new options allow you to update the working tree so that
      it will match the index content only when it previously matched
      the contents of the HEAD.  This allows you to, for example, to
      distinguish between removing files that are in the HEAD but not
      in the index, vs just removing all untracked files.
      
      Because of various corner cases that arise, etc., this required
      some additional capabilities in rmdir and other utility functions.
      
      This includes the beginnings of an implementation of code to read
      a partial tree into the index based on a pathspec, but that is
      not enabled because of the possibility of creating conflicting
      index entries.
      Russell Belfer committed
    • Fix checkout behavior when its hands are tied · 32def5af
      So, @nulltoken created a failing test case for checkout that
      proved to be particularly daunting.  If checkout is given only
      a very limited strategy mask (e.g. just GIT_CHECKOUT_CREATE_MISSING)
      then it is possible for typechange/rename modifications to leave it
      unable to complete the request.  That's okay, but the existing code
      did not have enough information not to generate an error (at least
      for tree/blob conflicts).
      
      This led me to a significant reorganization of the code to handle
      the failing case, but it has three benefits:
      
      1. The test case is handled correctly (I think)
      2. The new code should actually be much faster than the old code
         since I decided to make checkout aware of diff list internals.
      3. The progress value accuracy is hugely increased since I added
         a fourth pass which calculates exactly what work needs to be
         done before doing anything.
      Russell Belfer committed
  17. 25 Oct, 2012 1 commit
  18. 20 Oct, 2012 8 commits
  19. 19 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