1. 02 Mar, 2012 20 commits
    • Clean up GIT_UNUSED macros on all platforms · 854eccbb
      It turns out that commit 31e9cfc4cbcaf1b38cdd3dbe3282a8f57e5366a5
      did not fix the GIT_USUSED behavior on all platforms.  This commit
      walks through and really cleans things up more thoroughly, getting
      rid of the unnecessary stuff.
      
      To remove the use of some GIT_UNUSED, I ended up adding a couple
      of new iterators for hashtables that allow you to iterator just
      over keys or just over values.
      
      In making this change, I found a bug in the clar tests (where we
      were doing *count++ but meant to do (*count)++ to increment the
      value).  I fixed that but then found the test failing because it
      was not really using an empty repo.  So, I took some of the code
      that I wrote for iterator testing and moved it to clar_helpers.c,
      then made use of that to make it easier to open fixtures on a
      per test basis even within a single test file.
      Russell Belfer committed
    • Update diff to use iterators · 74fa4bfa
      This is a major reorganization of the diff code.  This changes
      the diff functions to use the iterators for traversing the
      content.  This allowed a lot of code to be simplified.  Also,
      this moved the functions relating to outputting a diff into a
      new file (diff_output.c).
      
      This includes a number of other changes - adding utility
      functions, extending iterators, etc. plus more tests for the
      diff code.  This also takes the example diff.c program much
      further in terms of emulating git-diff command line options.
      Russell Belfer committed
    • Fixing unit tests post rebase · 760db29c
      Some changes that merged cleanly actually broke the unit
      tests, so this fixes them.
      Russell Belfer committed
    • First pass of diff index to workdir implementation · e47329b6
      This is an initial version of git_diff_workdir_to_index.  It
      also includes renaming some structures and some refactoring
      of the existing code so that it could be shared better with
      the new function.
      
      This is not complete since it needs a rebase to get some
      new odb functions from the upstream branch.
      Russell Belfer committed
    • Add tests and fix bugs for diff whitespace options · caf71ec0
      Once I added tests for the whitespace handling options of
      diff, I realized that there were some bugs.  This fixes
      those and adds the new tests into the test suite.
      Russell Belfer committed
    • Continue implementation of git-diff · a2e895be
      * Implemented git_diff_index_to_tree
      * Reworked git_diff_options structure to handle more options
      * Made most of the options in git_diff_options actually work
      * Reorganized code a bit to remove some redundancy
      * Added option parsing to examples/diff.c to test most options
      Russell Belfer committed
    • Fix minor WIN32 incompatibility · 5a2f097f
      File mode flags are not all defined on WIN32, but since git
      is so rigid in how it uses file modes, there is no reason not
      to hard code a particular value.  Also, this is only used in
      the git_diff_print_compact helper function, so it is really
      really not important.
      Russell Belfer committed
    • Clean up diff implementation for review · 3a437590
      This fixes several bugs, updates tests and docs, eliminates the
      FILE* assumption in favor of printing callbacks for the diff patch
      formatter helpers, and adds a "diff" example function that can
      perform a diff from the command line.
      Russell Belfer committed
    • Implement diff lists and formatters · 65b09b1d
      This reworks the diff API to separate the steps of producing
      a diff descriptions from formatting the diff.  This will allow
      us to share diff output code with the various diff creation
      scenarios and will allow us to implement rename detection as
      an optional pass that can be run on a diff list.
      Russell Belfer committed
    • Initial implementation of git_diff_blob · cd33323b
      This gets the basic plumbing in place for git_diff_blob.
      There is a known issue where additional parameters like
      the number of lines of context to display on the diff
      are not working correctly (which leads one of the new
      unit tests to fail).
      Russell Belfer committed
    • Eliminate xdiff compiler warnings · 8b75f7f3
      This cleans up the various GCC compiler warnings with the
      xdiff code that was copied in.
      Russell Belfer committed
    • Simplify GIT_UNUSED macros · 2705576b
      Since casting to void works to eliminate errors with unused
      parameters on all platforms, avoid the various special cases.
      Over time, it will make sense to eliminate the GIT_UNUSED
      macro completely and just have GIT_UNUSED_ARG.
      Russell Belfer committed
    • Import xdiff library from git · 3a5ad90a
      This is the initial import of the xdiff code (LGPL) from
      core git as of rev f349b562086e2b7595d8a977d2734ab2ef9e71ef
      Russell Belfer committed
    • Add test for possible attr bug · 7e3fc623
      This is a test that should replicate an issue that Peff
      is setting with git attributes.  But the test doesn't fail.
      Russell Belfer committed
    • Merge pull request #575 from libgit2/filters · e3d55b2a
      Filters, yo
      Vicent Martí committed
    • Add filter tests and fix some bugs · ce49c7a8
      This adds some initial unit tests for file filtering and fixes
      some simple bugs in filter application.
      Russell Belfer committed
    • config: Add missing file · 97da3eae
      Vicent Martí committed
    • attr: Change the attribute check macros · c63793ee
      The point of having `GIT_ATTR_TRUE` and `GIT_ATTR_FALSE` macros is to be
      able to change the way that true and false values are stored inside of
      the returned gitattributes value pointer.
      
      However, if these macros are implemented as a simple rename for the
      `git_attr__true` pointer, they will always be used with the `==`
      operator, and hence we cannot really change the implementation to any
      other way that doesn't imply using special pointer values and comparing
      them!
      
      We need to do the same thing that core Git does, which is using a
      function macro. With `GIT_ATTR_TRUE(attr)`, we can change
      internally the way that these values are stored to anything we want.
      
      This commit does that, and rewrites a large chunk of the attributes test
      suite to remove duplicated code for expected attributes, and to
      properly test the function macro behavior instead of comparing
      pointers.
      Vicent Martí committed
  2. 01 Mar, 2012 3 commits
  3. 29 Feb, 2012 2 commits
  4. 28 Feb, 2012 1 commit
  5. 27 Feb, 2012 9 commits
  6. 26 Feb, 2012 2 commits
  7. 25 Feb, 2012 2 commits
  8. 24 Feb, 2012 1 commit