- 25 Apr, 2016 1 commit
-
-
While no extra header fields are defined for tags, git accepts them by ignoring them and continuing the search for the message. There are a few tags like this in the wild which git parses just fine, so we should do the same.
Carlos Martín Nieto committed
-
- 21 Dec, 2015 1 commit
-
-
Dmitriy Olshevskiy committed
-
- 03 Mar, 2015 1 commit
-
-
The signature for the reflog is not something which changes dynamically. Almost all uses will be NULL, since we want for the repository's default identity to be used, making it noise. In order to allow for changing the identity, we instead provide git_repository_set_ident() and git_repository_ident() which allow a user to override the choice of signature.
Carlos Martín Nieto committed
-
- 13 Feb, 2015 2 commits
-
-
Make our overflow checking look more like gcc and clang's, so that we can substitute it out with the compiler instrinsics on platforms that support it. This means dropping the ability to pass `NULL` as an out parameter. As a result, the macros also get updated to reflect this as well.
Edward Thomson committed -
Introduce some helper macros to test integer overflow from arithmetic and set error message appropriately.
Edward Thomson committed
-
- 05 Dec, 2014 1 commit
-
-
Will Stamper committed
-
- 24 Oct, 2014 1 commit
-
-
Pierre-Olivier Latour committed
-
- 13 May, 2014 1 commit
-
-
Russell Belfer committed
-
- 15 Jan, 2014 1 commit
-
-
Any well-behaved program should write a descriptive message to the reflog whenever it updates a reference. Let's make this more prominent by removing the version without the reflog parameters.
Carlos Martín Nieto committed
-
- 11 Dec, 2013 3 commits
-
-
Russell Belfer committed
-
This changes the behavior of callbacks so that the callback error code is not converted into GIT_EUSER and instead we propagate the return value through to the caller. Instead of using the giterr_capture and giterr_restore functions, we now rely on all functions to pass back the return value from a callback. To avoid having a return value with no error message, the user can call the public giterr_set_str or some such function to set an error message. There is a new helper 'giterr_set_callback' that functions can invoke after making a callback which ensures that some error message was set in case the callback did not set one. In places where the sign of the callback return value is meaningful (e.g. positive to skip, negative to abort), only the negative values are returned back to the caller, obviously, since the other values allow for continuing the loop. The hardest parts of this were in the checkout code where positive return values were overloaded as meaningful values for checkout. I fixed this by adding an output parameter to many of the internal checkout functions and removing the overload. This added some code, but it is probably a better implementation. There is some funkiness in the network code where user provided callbacks could be returning a positive or a negative value and we want to rely on that to cancel the loop. There are still a couple places where an user error might get turned into GIT_EUSER there, I think, though none exercised by the tests.
Russell Belfer committed -
This continues auditing all the places where GIT_EUSER is being returned and making sure to clear any existing error using the new giterr_user_cancel helper. As a result, places that relied on intercepting GIT_EUSER but having the old error preserved also needed to be cleaned up to correctly stash and then retrieve the actual error. Additionally, as I encountered places where error codes were not being propagated correctly, I tried to fix them up. A number of those fixes are included in the this commit as well.
Russell Belfer committed
-
- 15 Aug, 2013 1 commit
-
-
This is in preparation for moving the hashing to the frontend, which requires us to handle the incoming data before passing it to the backend's stream.
Carlos Martín Nieto committed
-
- 29 May, 2013 1 commit
-
-
Vicent Marti committed
-
- 21 May, 2013 1 commit
-
-
nulltoken committed
-
- 11 May, 2013 1 commit
-
-
Nobody should ever be using anything other than ALL at this level, so remove the option altogether. As part of this, git_reference_foreach_glob is now implemented in the frontend using an iterator. Backends will later regain the ability of doing the glob filtering in the backend.
Carlos Martín Nieto committed
-
- 30 Apr, 2013 2 commits
-
-
Vicent Marti committed
-
Removed useless prototype and renamed object typecast functions declaration macro.
Russell Belfer committed
-
- 29 Apr, 2013 1 commit
-
-
This removes the GIT_INLINE versions of the simple git_object accessors and standardizes them with a helper macro in src/object.h to build the function bodies.
Russell Belfer committed
-
- 22 Apr, 2013 4 commits
-
-
This unifies the object parse functions into one signature that takes an odb_object.
Russell Belfer committed -
This adds create and free callback to the git_objects_table so that more of the creation and destruction of objects can be table driven instead of using switch statements. This also makes the semantics of certain object creation functions consistent so that we can make better use of function pointers. This also fixes a theoretical error case where an object allocation fails and we end up storing NULL into the cache.
Russell Belfer committed -
This uses the odb object accessors so we can change the internals more easily...
Russell Belfer committed -
Vicent Marti committed
-
- 21 Apr, 2013 1 commit
-
-
This moves some of the odb_backend stuff that is related to the internals of an odb_backend implementation into include/git2/sys. Some of the stuff related to streaming I left in include/git2 because it seemed like it would be reasonably needed by a normal user who wanted to stream objects into and out of the ODB. Also, I added APIs for traversing the list of backends so that some of the tests would not need to access ODB internals.
Russell Belfer committed
-
- 31 Mar, 2013 1 commit
-
-
nulltoken committed
-
- 07 Mar, 2013 1 commit
-
-
Edward Thomson committed
-
- 08 Jan, 2013 1 commit
-
-
Edward Thomson committed
-
- 03 Dec, 2012 1 commit
-
-
Ben Straub committed
-
- 01 Dec, 2012 2 commits
-
-
nulltoken committed
-
Ben Straub committed
-
- 30 Nov, 2012 1 commit
-
-
Ben Straub committed
-
- 27 Nov, 2012 2 commits
-
-
Russell Belfer committed
-
Ben Straub committed
-
- 17 Nov, 2012 1 commit
-
-
nulltoken committed
-
- 02 Nov, 2012 1 commit
-
-
This fix makes libgit2 capable of parsing annotated tag objects that lack the optional message/description field. Previously, libgit2 treated this field as mandatory and raised a tag_error on such tags. However, the message field is optional. An example of such a tag is refs/tags/v2.6.16.31-rc1 in Linux: $ git cat-file tag refs/tags/v2.6.16.31-rc1 object afaa018cefb6af63befef1df7d8febaae904434f type commit tag v2.6.16.31-rc1 tagger Adrian Bunk <bunk@stusta.de> 1162716505 +0100 $
Erik van Zijst committed
-
- 09 Oct, 2012 1 commit
-
-
Michael Schubert committed
-
- 22 Sep, 2012 1 commit
-
-
Since quite a while now, git_branch_foreach has learnt to list branches without the 'refs/heads/' or 'refs/remotes' prefixes. This patch teaches git_tag_list to do the same for listing tags.
Sascha Cunz committed
-
- 27 Aug, 2012 1 commit
-
-
This expands the types of peeling that `git_object_peel` knows how to do to include TAG -> BLOB peeling, and makes the errors slightly more consistent depending on the situation. It also adds a new special behavior where peeling to ANY will peel until the object type changes (e.g. chases TAGs to a non-TAG). Using this expanded peeling, this replaces peeling code that was embedded in `git_tag_peel` and `git_reset`.
Russell Belfer committed
-
- 19 Jun, 2012 1 commit
-
-
git_commit() and git_tag() no longer prettify the message by default. This has to be taken care of by the caller. This has the nice side effect of putting the caller in position to actually choose to strip the comments or not.
nulltoken committed
-
- 17 May, 2012 1 commit
-
-
Vicent Martí committed
-