1. 14 Mar, 2011 4 commits
    • Add new method `git_reference_listall` · 00571828
      Lists all the references in a repository. Listing may be filtered by
      reference type.
      
      This should applease Lord Clem.
      Vicent Marti committed
    • Rewrite the Pack backend · 58d06cf1
      The new pack backend is an adaptation of the original git.git code in
      `sha1_file.c`. It's slightly faster than the previous version and
      severely less memory-hungry.
      
      The call-stack of a normal pack backend query has been properly
      documented in the top of the header for future reference. And by
      properly I mean with ASCII diagrams 'n shit.
      Vicent Marti committed
    • Rewrite the Revision Walker · 71db842f
      The new revision walker uses an internal Commit object storage system,
      custom memory allocator and much improved topological and time sorting
      algorithms. It's about 20x times faster than the previous implementation
      when browsing big repositories.
      
      The following external API calls have changed:
      
      	`git_revwalk_next` returns an OID instead of a full commit object.
      	The initial call to `git_revwalk_next` is no longer blocking when
      	iterating through a repo with a time-sorting mode.
      
      	Iterating with Topological or inverted modes still makes the initial
      	call blocking to preprocess the commit list, but this block should be
      	mostly unnoticeable on most repositories (topological preprocessing
      	times at 0.3s on the git.git repo).
      
      	`git_revwalk_push` and `git_revwalk_hide` now take an OID instead
      	of a full commit object.
      Vicent Marti committed
    • Add `git_oid_shorten` (unique OID minimzer) · 26022f07
      Set of methods to find the minimal-length to uniquely identify every OID
      in a list. Useful for GUI applications, commit logs and so on.
      
      Includes stress test.
      
      Signed-off-by: Vicent Marti <tanoku@gmail.com>
      Vicent Marti committed
  2. 07 Mar, 2011 2 commits
  3. 05 Mar, 2011 9 commits
  4. 04 Mar, 2011 2 commits
  5. 03 Mar, 2011 23 commits