1. 21 Jul, 2017 1 commit
  2. 13 Feb, 2015 2 commits
  3. 11 Mar, 2013 1 commit
  4. 15 Jan, 2013 1 commit
    • Add payload "_r" versions of bsearch and tsort · 851ad650
      git__bsearch and git__tsort did not pass a payload through to the
      comparison function.  This makes it impossible to implement sorted
      lists where the sort order depends on external data (e.g. building
      a secondary sort order for the entries in a tree).  This commit
      adds git__bsearch_r and git__tsort_r versions that pass a third
      parameter to the cmp function of a user payload.
      Russell Belfer committed
  5. 08 Jan, 2013 1 commit
  6. 17 Apr, 2012 1 commit
  7. 13 Feb, 2012 1 commit
  8. 29 Oct, 2011 1 commit
  9. 19 Sep, 2011 1 commit
    • Tabify everything · 87d9869f
      There were quite a few places were spaces were being used instead of
      tabs. Try to catch them all. This should hopefully not break anything.
      Except for `git blame`. Oh well.
      Vicent Marti committed
  10. 18 Sep, 2011 1 commit
    • Cleanup legal data · bb742ede
      1. The license header is technically not valid if it doesn't have a
      copyright signature.
      
      2. The COPYING file has been updated with the different licenses used in
      the project.
      
      3. The full GPLv2 header in each file annoys me.
      Vicent Marti committed
  11. 17 Aug, 2011 1 commit
  12. 09 Jul, 2011 2 commits
  13. 07 Jul, 2011 4 commits
    • tsort: remove unused but set variable · d4cb0ee8
      Signed-off-by: schu <schu-github@schulog.org>
      schu committed
    • Fix MSVC compilation warnings · bdcc4611
      nulltoken committed
    • vector: Timsort all of the things · de18f276
      Drop the GLibc implementation of Merge Sort and replace it with Timsort.
      
      The algorithm has been tuned to work on arrays of pointers (void **),
      so there's no longer a need to abstract the byte-width of each element
      in the array.
      
      All the comparison callbacks now take pointers-to-elements, not
      pointers-to-pointers, so there's now one less level of dereferencing.
      
      E.g.
      
      	 int index_cmp(const void *a, const void *b)
      	 {
      	-	const git_index_entry *entry_a = *(const git_index_entry **)(a);
      	+	const git_index_entry *entry_a = (const git_index_entry *)(a);
      
      The result is up to a 40% speed-up when sorting vectors. Memory usage
      remains lineal.
      
      A new `bsearch` implementation has been added, whose callback also
      supplies pointer-to-elements, to uniform the Vector API again.
      Vicent Marti committed