1. 03 Mar, 2015 2 commits
  2. 27 Feb, 2015 2 commits
  3. 06 Mar, 2014 1 commit
  4. 30 Jan, 2014 1 commit
  5. 14 Nov, 2013 1 commit
  6. 17 Apr, 2013 1 commit
  7. 15 Apr, 2013 1 commit
  8. 09 Apr, 2013 1 commit
  9. 04 Jan, 2013 3 commits
    • Extend tests for checkout with typechanges · c50c58de
      Test a number of other cases, including intentionally forced
      conflicts and deeper inspection that trees get created properly.
      
      There is a still a bug in checkout because the first test here
      (i.e. test_checkout_typechange__checkout_typechanges_safe) should
      be able to pass with GIT_CHECKOUT_SAFE as a strategy, but it will
      not because of some lingering submodule checkout issues.
      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
  10. 30 Nov, 2012 1 commit
  11. 09 Nov, 2012 1 commit
    • 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
  12. 20 Oct, 2012 1 commit
  13. 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