- 12 Feb, 2023 1 commit
-
-
Teach the packfile machinery to cope with SHA256.
Edward Thomson committed
-
- 14 Jul, 2022 1 commit
-
-
The experimental function signature is only available when `GIT_EXPERIMENTAL_SHA256` is enabled.
Edward Thomson committed
-
- 20 Jun, 2022 1 commit
-
-
Users will need to be able to specify the object id type for the given object database; add a new `git_odb_options` with that option.
Edward Thomson committed
-
- 23 Feb, 2022 1 commit
-
-
Like we want to separate libgit2 and utility source code, we want to separate libgit2 and utility tests. Start by moving all the tests into libgit2.
Edward Thomson committed
-
- 17 Oct, 2021 1 commit
-
-
libgit2 has two distinct requirements that were previously solved by `git_buf`. We require: 1. A general purpose string class that provides a number of utility APIs for manipulating data (eg, concatenating, truncating, etc). 2. A structure that we can use to return strings to callers that they can take ownership of. By using a single class (`git_buf`) for both of these purposes, we have confused the API to the point that refactorings are difficult and reasoning about correctness is also difficult. Move the utility class `git_buf` to be called `git_str`: this represents its general purpose, as an internal string buffer class. The name also is an homage to Junio Hamano ("gitstr"). The public API remains `git_buf`, and has a much smaller footprint. It is generally only used as an "out" param with strict requirements that follow the documentation. (Exceptions exist for some legacy APIs to avoid breaking callers unnecessarily.) Utility functions exist to convert a user-specified `git_buf` to a `git_str` so that we can call internal functions, then converting it back again.
Edward Thomson committed
-
- 08 Aug, 2021 1 commit
-
-
Peter Pettersson committed
-
- 20 Jan, 2019 1 commit
-
-
In include/git2/odb.h it states that callback can also return positive value which should break looping. Implementations of git_odb_foreach() and pack_backend__foreach() did not respect that.
Marijan Šuflaj committed
-
- 01 Dec, 2018 1 commit
-
-
Use the new object_type enumeration names within the codebase.
Edward Thomson committed
-
- 10 Jun, 2018 1 commit
-
-
Patrick Steinhardt committed
-
- 06 Oct, 2016 1 commit
-
-
Introduce some tests that show some commits, while hiding some commits that have a timestamp older than the common ancestors of these two commits.
Edward Thomson committed
-
- 06 Jun, 2015 1 commit
-
-
When the callback returns an error, we should stop immediately. This broke when trying to make sure we pass specific errors up the chain. This broke cancelling out of the loose backend's foreach.
Carlos Martín Nieto committed
-
- 26 Sep, 2014 1 commit
-
-
Jakub Čajka committed
-
- 20 May, 2014 1 commit
-
-
Carlos Martín Nieto committed
-
- 05 May, 2014 1 commit
-
-
We assume that everything under GIT_DIR/objects/ is a directory. This is not necessarily the case if some process left a stray file in there. Check beforehand if we do have a directory and ignore the entry otherwise.
Carlos Martín Nieto committed
-
- 11 Dec, 2013 1 commit
-
-
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
-
- 14 Nov, 2013 2 commits
-
-
Ben Straub committed
-
Ben Straub committed
-
- 31 Mar, 2013 1 commit
-
-
nulltoken committed
-
- 27 Nov, 2012 1 commit
-
-
This makes the first OID param of the ODB callback a const pointer and also propogates that change all the way to the backends.
Russell Belfer committed
-
- 27 Sep, 2012 1 commit
-
-
Fixes #921.
Michael Schubert committed
-
- 06 Aug, 2012 1 commit
-
-
Vicent Marti committed
-
- 04 Aug, 2012 1 commit
-
-
This updates all the `foreach()` type functions across the library that take callbacks from the user to have a consistent behavior. The rules are: * A callback terminates the loop by returning any non-zero value * Once the callback returns non-zero, it will not be called again (i.e. the loop stops all iteration regardless of state) * If the callback returns non-zero, the parent fn returns GIT_EUSER * Although the parent returns GIT_EUSER, no error will be set in the library and `giterr_last()` will return NULL if called. This commit makes those changes across the library and adds tests for most of the iteration APIs to make sure that they follow the above rules.
Russell Belfer committed
-
- 25 Jul, 2012 1 commit
-
-
nulltoken committed
-
- 21 Jul, 2012 1 commit
-
-
git_odb_backend_one_packfile() allows us to create an ODB backend out of an .idx file.
Carlos Martín Nieto committed
-
- 12 Jul, 2012 1 commit
-
-
Some objects were added in another PR
Carlos Martín Nieto committed
-
- 03 Jul, 2012 1 commit
-
-
Go through each backend and list every objects that exists in them. This allows fsck-like uses.
Carlos Martín Nieto committed
-