1. 13 Nov, 2012 15 commits
  2. 12 Nov, 2012 6 commits
  3. 11 Nov, 2012 6 commits
  4. 10 Nov, 2012 5 commits
  5. 09 Nov, 2012 8 commits
    • Fix warnings and valgrind issues · 757b4065
      This fixes some various warnings that showed up in Travis and
      a couple uses of uninitialized memory and one memory leak.
      Russell Belfer committed
    • Fix various cross-platform build issues · 0f3def71
      This fixes a number of warnings and problems with cross-platform
      builds.  Among other things, it's not safe to name a member of a
      structure "strcmp" because that may be #defined.
      Russell Belfer committed
    • Update reset hard test · 8064ecba
      The `git_reset` API with the HARD option is still slightly
      broken, but this test now does exercise the ability of the
      command to revert modified files.
      Russell Belfer committed
    • 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
    • Some diff refactorings to help code reuse · 55cbd05b
      There are some diff functions that are useful in a rewritten
      checkout and this lays some groundwork for that.  This contains
      three main things:
      
      1. Share the function diff uses to calculate the OID for a file
         in the working directory (now named `git_diff__oid_for_file`
      2. Add a `git_diff__paired_foreach` function to iterator over
         two diff lists concurrently.  Convert status to use it.
      3. Move all the string/prefix/index entry comparisons into
         function pointers inside the `git_diff_list` object so they
         can be switched between case sensitive and insensitive
         versions.  This makes them easier to reuse in various
         functions without replicating logic.  As part of this, move
         a couple of index functions out of diff.c and into index.c.
      Russell Belfer committed
    • Move pathspec code in separate files · 2e3d4b96
      Diff uses a `git_strarray` of path specs to represent a subset
      of all files to be processed.  It is useful to be able to reuse
      this filtering in other places outside diff, so I've moved it
      into a standalone set of utilities.
      Russell Belfer committed
    • Make iterator ignore eval lazy · 220d5a6c
      This makes it so that the check if a file is ignored will be
      deferred until requested on the workdir iterator, instead of
      aggressively evaluating the ignore rules for each entry.  This
      should improve performance because there will be no need to
      check ignore rules for files that are already in the index.
      Russell Belfer committed