1. 05 Mar, 2011 2 commits
  2. 03 Mar, 2011 4 commits
  3. 22 Feb, 2011 1 commit
    • Rewrite git_hashtable internals · fc658755
      The old hash table with chained buckets has been replaced by a new one
      using Cuckoo hashing, which offers guaranteed constant lookup times.
      This should improve speeds on most use cases, since hash tables in
      libgit2 are usually used as caches where the objects are stored once and
      queried several times.
      
      The Cuckoo hash implementation is based off the one in the Basekit
      library [1] for the IO language, but rewritten to support an arbritrary
      number of hashes. We currently use 3 to maximize the usage of the nodes pool.
      
      [1]: https://github.com/stevedekorte/basekit/blob/master/source/CHash.c
      
      Signed-off-by: Vicent Marti <tanoku@gmail.com>
      Vicent Marti committed
  4. 18 Feb, 2011 1 commit
  5. 07 Feb, 2011 1 commit
  6. 06 Feb, 2011 1 commit
  7. 05 Feb, 2011 2 commits
    • Fix directory/path manipulation methods · f725931b
      The `dirname` and `dirbase` methods have been replaced with the Android
      implementation, which is actually compilant to some kind of standard.
      
      A new method `topdir` has been added, which returns the topmost
      directory in a path.
      
      These changes fix issue #49:
      
      	`gitfo_prettify_dir_path` converts "./.git/" to ".git/", so
      	the code at src/repository.c:190 goes out of bounds when
      	trying to find the topmost directory.
      
      	The new `git__topdir` method handles this gracefully, and the
      	fixed `git__dirname` now returns the proper value for the
      	repository's working dir.
      
      	E.g.
      
      		/repo/.git/ ==> working dir '/repo/'
      		.git/		==> working dir '.'
      
      Signed-off-by: Vicent Marti <tanoku@gmail.com>
      Vicent Marti committed
    • Make more methods return error codes · c836c332
      git_revwalk_next now returns an error code when the iteration is over.
      git_repository_index now returns an error code when the index file could
      not be opened.
      
      Signed-off-by: Vicent Marti <tanoku@gmail.com>
      Vicent Marti committed
  8. 30 Jan, 2011 1 commit
    • Refactor reference parsing code · 2f8a8ab2
      Several changes have been committed to allow the user to create
      in-memory references and write back to disk. Peeling of symbolic
      references has been made explicit. Added getter and setter methods for
      all attributes on a reference. Added corresponding documentation.
      
      Signed-off-by: Vicent Marti <tanoku@gmail.com>
      Vicent Marti committed
  9. 29 Jan, 2011 4 commits
    • Merge nulltoken's reference parsing code · 9282e921
      All the commits have been squashed into a single one before refactoring
      the final code, to keep everything tidy.
      
      Individual commit messages are as follows:
      
      Added repository reference looking up functionality placeholder.
      
      Added basic reference database definition and caching infrastructure.
      
      Removed useless constant.
      
      Added GIT_EINVALIDREFNAME error and description. Added missing description for GIT_EBAREINDEX.
      
      Added GIT_EREFCORRUPTED error and description.
      
      Added GIT_ETOONESTEDSYMREF error and description.
      
      Added resolving of direct and symbolic references.
      
      Prepared the packed-refs parsing.
      
      Added parsing of the packed-refs file content.
      
      When no loose reference has been found, the full content of the packed-refs file is parsed. All of the new (i.e. not previously parsed as a loose reference) references are eagerly stored in the cached references storage.
      
      The method packed_reference_file__parse() is in deer need of some refactoring. :-)
      
      Extracted to a method the parsing of the peeled target of a tag.
      
      Extracted to a method the parsing of a standard packed ref.
      
      Fixed leaky removal of the cached references.
      
      Ensured that a previously parsed packed reference isn't returned if a more up-to-date loose reference exists.
      
      Enhanced documentation of git_repository_reference_lookup().
      
      Moved some refs related constants from repository.c to refs.h.
      
      Made parsing of a packed tag reference more robust.
      
      Updated git_repository_reference_lookup() documentation.
      
      Added some references to the test repository.
      
      Added some tests covering tag references looking up.
      
      Added some tests covering symbolic and head references looking up.
      
      Added some tests covering packed references looking up.
      nulltoken committed
    • Made git_repository_open2() and git_repository_open3() benefit from recently… · eb2f3b47
      Made git_repository_open2() and git_repository_open3() benefit from recently added path prettifying function.
      nulltoken committed
    • Made git_repository_open() and git_repository_init() benefit from recently added… · 9dd34b1e
      Made git_repository_open() and git_repository_init() benefit from recently added path prettifying function.
      nulltoken committed
  10. 20 Jan, 2011 1 commit
  11. 13 Jan, 2011 1 commit
  12. 11 Jan, 2011 1 commit
  13. 03 Jan, 2011 2 commits
  14. 21 Dec, 2010 1 commit
  15. 20 Dec, 2010 1 commit
  16. 19 Dec, 2010 2 commits
  17. 17 Dec, 2010 4 commits
  18. 16 Dec, 2010 1 commit
  19. 15 Dec, 2010 1 commit
  20. 13 Dec, 2010 1 commit
  21. 10 Dec, 2010 1 commit
  22. 06 Dec, 2010 1 commit
  23. 05 Dec, 2010 3 commits
  24. 02 Dec, 2010 1 commit
  25. 23 Nov, 2010 1 commit