- 08 Jun, 2017 1 commit
-
-
Initially, the setting has been solely used to enable the use of `fsync()` when creating objects. Since then, the use has been extended to also cover references and index files. As the option is not yet part of any release, we can still correct this by renaming the option to something more sensible, indicating not only correlation to objects. This commit renames the option to `GIT_OPT_ENABLE_FSYNC_GITDIR`. We also move the variable from the object to repository source code.
Patrick Steinhardt committed
-
- 28 Feb, 2017 2 commits
-
-
Rename `GIT_OPT_ENABLE_SYNCHRONIZED_OBJECT_CREATION` -> `GIT_OPT_ENABLE_SYNCHRONOUS_OBJECT_CREATION`.
Edward Thomson committed -
Allow users to enable `SYNCHRONIZED_OBJECT_CREATION` with a setting.
Edward Thomson committed
-
- 29 Dec, 2016 1 commit
-
-
Error messages should be sentence fragments, and therefore: 1. Should not begin with a capital letter, 2. Should not conclude with punctuation, and 3. Should not end a sentence and begin a new one
Edward Thomson committed
-
- 11 Mar, 2016 1 commit
-
-
When computing a short OID we do this by first copying the leading parts into the new OID structure and then setting the trailing part to zero. In the case of the desired length being `GIT_OID_HEXSZ - 1` we will call `memset` with an out of bounds pointer and a length of 0. While this seems to cause no problems for common platforms the C89 standard does not explicitly state that calling `memset` with an out of bounds pointer and length of 0 is valid. Fix the potential issue by using the newly introduced `git_oid__cpy_prefix` function.
Patrick Steinhardt committed
-
- 28 Feb, 2016 3 commits
-
-
Edward Thomson committed
-
This allows lighter weight validation in `git_object__is_valid` that does not require reading the entire object.
Edward Thomson committed -
Edward Thomson committed
-
- 30 Nov, 2015 1 commit
-
-
Patrick Steinhardt committed
-
- 26 Jun, 2015 1 commit
-
-
This reverts commit 969d4b70. This was a fluke from Coverity. The length to all the APIs in the library is supposed to be passed in as nibbles, not bytes. Passing it as bytes would prevent us from parsing uneven-sized SHA1 strings. Also, the rest of the library was still using nibbles (including revparse and the odb_prefix APIs), so this change was seriously breaking things in unexpected ways. ^^
Vicent Marti committed
-
- 10 Jun, 2015 1 commit
-
-
We take in a possibly partial ID by taking a length and working off of that to figure out whether to just look up the object or ask the backends for a prefix lookup. Unfortunately we've been checking the size against `GIT_OID_HEXSZ` which is the size of a *string* containing a full ID, whereas we need to check against the size we can have when it's a 20-byte array. Change the checks and comment to use `GIT_OID_RAWSZ` which is the correct size of a git_oid to have when full.
Carlos Martín Nieto committed
-
- 22 Nov, 2014 1 commit
-
-
There are some combination of objects and target types which we know cannot be fulfilled. Return EINVALIDSPEC for those to signify that there is a mismatch in the user-provided data and what the object model is capable of satisfying. If we start at a tag and in the course of peeling find out that we cannot reach a particular type, we return EPEEL.
Carlos Martín Nieto committed
-
- 06 May, 2014 1 commit
-
-
The brace in the check for peel's return was surrounding the wrong thing, which made 'error' be set to 1 when there was an error instead of the error code.
Carlos Martín Nieto committed
-
- 05 Mar, 2014 1 commit
-
-
This finds a short id string that will unambiguously select the given object, starting with the core.abbrev length (usually 7) and growing until it is no longer ambiguous.
Russell Belfer committed
-
- 25 Feb, 2014 1 commit
-
-
Edward Thomson committed
-
- 28 Oct, 2013 1 commit
-
-
Ben Straub committed
-
- 16 Sep, 2013 1 commit
-
-
Ben Straub committed
-
- 11 May, 2013 1 commit
-
-
Linquize committed
-
- 02 May, 2013 1 commit
-
-
Russell Belfer committed
-
- 01 May, 2013 1 commit
-
-
Russell Belfer committed
-
- 22 Apr, 2013 6 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 -
Vicent Marti committed
-
Vicent Marti committed
-
Vicent Marti committed
-
Vicent Marti committed
-
- 10 Apr, 2013 1 commit
-
-
Vicent Marti committed
-
- 08 Jan, 2013 1 commit
-
-
Edward Thomson committed
-
- 01 Dec, 2012 1 commit
-
-
nulltoken committed
-
- 29 Nov, 2012 1 commit
-
-
Philip Kelley committed
-
- 28 Nov, 2012 2 commits
-
-
Philip Kelley committed
-
Vicent Marti committed
-
- 27 Nov, 2012 1 commit
-
-
Conflicts: src/branch.c tests-clar/refs/branches/create.c
Vicent Marti committed
-
- 22 Nov, 2012 1 commit
-
-
nulltoken committed
-
- 10 Sep, 2012 1 commit
-
-
Often `git_odb_read_header` will "fail" and have to read the entire object into memory instead of just the header. When this happens, the object is loaded and then disposed of immediately, which makes it difficult to efficiently use the header information to decide if the object should be loaded (since attempting to do so will often result in loading the object twice). This commit takes the existing code and reorganizes it to have two new functions: - `git_odb__read_header_or_object` which acts just like the old read header function except that it returns the object, too, if it was forced to load the whole thing. It then becomes the callers responsibility to free the `git_odb_object`. - `git_object__from_odb_object` which was extracted from the old `git_object_lookup` and creates a subclass of `git_object` from an existing `git_odb_object` (separating the ODB lookup from the `git_object` creation). This allows you to use the first header reading function efficiently without instantiating the `git_odb_object` twice. There is no net change to the behavior of any of the existing functions, but this allows internal code to tap into the ODB lookup and object creation to be more efficient.
Russell Belfer 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
-
- 24 Jul, 2012 1 commit
-
-
nulltoken committed
-
- 17 Jul, 2012 1 commit
-
-
Partially fix #530
nulltoken committed
-
- 21 Jun, 2012 1 commit
-
-
Michael Schubert committed
-
- 17 May, 2012 1 commit
-
-
Vicent Martí committed
-