1. 20 Jan, 2015 1 commit
  2. 06 Nov, 2014 1 commit
  3. 13 Oct, 2014 1 commit
  4. 06 Mar, 2014 1 commit
  5. 25 Jan, 2014 1 commit
  6. 14 Nov, 2013 1 commit
  7. 03 Oct, 2013 1 commit
  8. 05 Sep, 2013 2 commits
  9. 04 Sep, 2013 1 commit
    • Make tests take umask into account · 780f3e54
      It seems that libgit2 is correctly applying the umask when
      initializing a repository from a template and when creating new
      directories during checkout, but the test suite is not accounting
      for possible variations due to the umask.  This updates that so
      that the test suite will work regardless of the umask.
      Russell Belfer committed
  10. 29 Jun, 2013 1 commit
  11. 24 Jun, 2013 1 commit
  12. 21 Jun, 2013 2 commits
    • Addition checkout target directory tests · d4f98ba4
      This adds additonal tests of the checkout target directory option
      including using it to dump data from bare repos.
      Russell Belfer committed
    • Add target directory to checkout · 9094ae5a
      This adds the ability for checkout to write to a target directory
      instead of having to use the working directory of the repository.
      This makes it easier to do exports of repository data and the like.
      
      This is similar to, but not quite the same as, the --prefix option
      to `git checkout-index` (this will always be treated as a directory
      name, not just as a simple text prefix).
      
      As part of this, the workdir iterator was extended to take the
      path to the working directory as a parameter and fallback on the
      git_repository_workdir result only if it's not specified.
      
      Fixes #1332
      Russell Belfer committed
  13. 10 Jun, 2013 1 commit
    • Reorganize diff and add basic diff driver · 114f5a6c
      This is a significant reorganization of the diff code to break it
      into a set of more clearly distinct files and to document the new
      organization.  Hopefully this will make the diff code easier to
      understand and to extend.
      
      This adds a new `git_diff_driver` object that looks of diff driver
      information from the attributes and the config so that things like
      function content in diff headers can be provided.  The full driver
      spec is not implemented in the commit - this is focused on the
      reorganization of the code and putting the driver hooks in place.
      
      This also removes a few #includes from src/repository.h that were
      overbroad, but as a result required extra #includes in a variety
      of places since including src/repository.h no longer results in
      pulling in the whole world.
      Russell Belfer committed
  14. 25 Mar, 2013 3 commits
    • Fix up checkout file contents checks · 050ab995
      This fixes of the file contents checks in checkout to give
      slightly better error messages by directly calling the underlying
      clar assertions so the file and line number of the top level call
      can be reported correctly, and renames the helpers to not start
      with "test_" since that is kind of reserved by clar.
      
      This also enables some of the CRLF tests on all platforms that
      were previously Windows only (by pushing a check of the native
      line endings into the test body).
      Russell Belfer committed
    • Test fixes and cleanup · 1098cfae
      This fixes some places where the new tests were leaving the test
      area in a bad state or were freeing data they should not free.
      It also removes code that is extraneous to the core issue and
      fixes an invalid SHA being looked up in one of the tests (which
      was failing, but for the wrong reason).
      Russell Belfer committed
    • Added some tests for issue #1397 · b8acb775
      Signed-off-by: Sven Strickroth <email@cs-ware.de>
      Sven Strickroth committed
  15. 22 Mar, 2013 1 commit
  16. 13 Jan, 2013 1 commit
  17. 12 Jan, 2013 1 commit
  18. 05 Jan, 2013 2 commits
  19. 04 Jan, 2013 3 commits
    • Fix checkout of index-only dirs and prefixed paths · 817d6251
      There are a couple of checkout bugs fixed here.  One is with
      untracked working directory entries that are prefixes of tree
      entries but not in a meaningful way (i.e. "read" is a prefix of
      "readme.txt" but doesn't interfere in any way).  The second bug
      is actually a redo of 07edfa0fc640f85f95507c3101e77accd7d2bf0d
      where directory entries in the index that are not in the diff
      were not being removed correctly.  That fix remedied one case
      but broke another.
      Russell Belfer committed
    • More checkout improvements · 7e5c8a5b
      This flips checkout back to be driven off the changes between
      the baseline and the target trees.  This reinstates the complex
      code for tracking the contents of the working directory, but
      overall, I think the resulting logic is easier to follow.
      Russell Belfer committed
    • Rework checkout internals (again) · cf208031
      I've tried to map out the detailed behaviors of checkout and make
      sure that we're handling the various cases correctly, along with
      providing options to allow us to emulate "git checkout" and "git
      checkout-index" with the various flags.  I've thrown away flags
      in the checkout API that seemed like clutter and added some new
      ones.  Also, I've converted the conflict callback to a general
      notification callback so we can emulate "git checkout" output and
      display "dirty" files.
      
      As of this commit, the new behavior is not working 100% but some
      of that is probably baked into tests that are not testing the
      right thing.  This is a decent snapshot point, I think, along the
      way to getting the update done.
      Russell Belfer committed
  20. 01 Dec, 2012 1 commit
  21. 30 Nov, 2012 1 commit
  22. 27 Nov, 2012 1 commit
  23. 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
  24. 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
  25. 25 Oct, 2012 1 commit
  26. 20 Oct, 2012 4 commits
  27. 21 Sep, 2012 1 commit
  28. 17 Sep, 2012 2 commits