- 05 Mar, 2011 2 commits
-
-
We were checking for the index file, which is not assured to exist on clean git repositories. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed -
Disable garbage collection of cross-references to prevent double-freeing. Internal reference management is now done with a separate method. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed
-
- 03 Mar, 2011 4 commits
-
-
- Added several missing reference increases - Add new destructor to the repository that does not GC the objects Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed -
All `git_object` instances looked up from the repository are reference counted. User is expected to use the new `git_object_close` when an object is no longer needed to force freeing it. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed -
The methods previously known as git_repository_lookup git_repository_newobject git_repository_lookup_ref are now part of their respective namespaces: git_object_lookup git_object_new git_reference_lookup This makes the API more consistent with the new references API. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed -
nulltoken committed
-
- 22 Feb, 2011 1 commit
-
-
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
-
- 18 Feb, 2011 1 commit
-
-
Fixed several issues with path joining and bare repos. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed
-
- 07 Feb, 2011 1 commit
-
-
Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed
-
- 06 Feb, 2011 1 commit
-
-
Shuhei Tanuma committed
-
- 05 Feb, 2011 2 commits
-
-
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 -
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
-
- 30 Jan, 2011 1 commit
-
-
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
-
- 29 Jan, 2011 4 commits
-
-
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 -
nulltoken committed
-
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 path prettifying function.
nulltoken committed
-
- 20 Jan, 2011 1 commit
-
-
In-memory tree objects were not being properly initialized, because the internal entries vector was created on the 'parse' method. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed
-
- 13 Jan, 2011 1 commit
-
-
Lets the user specify the ODB that will be used by the repository manually. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed
-
- 11 Jan, 2011 1 commit
-
-
Alex Budovski committed
-
- 03 Jan, 2011 2 commits
-
-
All the relevant git_object methods have been moved to object.c Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed -
Keep all the repository init code as static. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed
-
- 21 Dec, 2010 1 commit
-
-
nulltoken committed
-
- 20 Dec, 2010 1 commit
-
-
nulltoken committed
-
- 19 Dec, 2010 2 commits
-
-
Implemented recursive directory creation Fix style issues Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed -
nulltoken committed
-
- 17 Dec, 2010 4 commits
- 16 Dec, 2010 1 commit
-
-
nulltoken committed
-
- 15 Dec, 2010 1 commit
-
-
nulltoken committed
-
- 13 Dec, 2010 1 commit
-
-
Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed
-
- 10 Dec, 2010 1 commit
-
-
nulltoken committed
-
- 06 Dec, 2010 1 commit
-
-
Libgit2 is now officially include as #include "<git2.h>" or indidividual files may be included as #include <git2/index.h> Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed
-
- 05 Dec, 2010 3 commits
-
-
The maze with include dependencies has been fixed. There is now a global include: #include <git.h> The git_odb_backend API has been exposed. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed -
Comes with two default backends: loose object and packfiles. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed -
Replaced magic number "0" with GIT_SUCCESS constant wherever it made sense.
nulltoken committed
-
- 02 Dec, 2010 1 commit
-
-
Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed
-
- 23 Nov, 2010 1 commit
-
-
Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti committed
-