summaryrefslogtreecommitdiff
path: root/src/object.h
Commit message (Collapse)AuthorAgeFilesLines
* settings: rename `GIT_OPT_ENABLE_SYNCHRONOUS_OBJECT_CREATION`Patrick Steinhardt2017-06-081-1/+0
| | | | | | | | | | | 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.
* fsync: call it "synchronous" object writingEdward Thomson2017-02-281-1/+1
| | | | | Rename `GIT_OPT_ENABLE_SYNCHRONIZED_OBJECT_CREATION` -> `GIT_OPT_ENABLE_SYNCHRONOUS_OBJECT_CREATION`.
* Add `ENABLE_SYNCHRONIZED_OBJECT_CREATION` optionEdward Thomson2017-02-281-0/+1
| | | | Allow users to enable `SYNCHRONIZED_OBJECT_CREATION` with a setting.
* git_object__is_valid: use `odb_read_header`Edward Thomson2016-02-281-15/+4
| | | | | This allows lighter weight validation in `git_object__is_valid` that does not require reading the entire object.
* git_index_add: validate objects in index entries (optionally)Edward Thomson2016-02-281-0/+16
| | | | | When `GIT_OPT_ENABLE_STRICT_OBJECT_CREATION` is turned on, validate the index entries given to `git_index_add`.
* git_object__is_valid: simple object validity testEdward Thomson2016-02-281-0/+16
|
* git_libgit2_opts: introduce `GIT_OPT_ENABLE_STRICT_OBJECT_CREATION`Edward Thomson2016-02-281-0/+2
|
* object: Explicitly define helper API methods for all obj typesVicent Marti2013-04-301-12/+0
|
* Some cleanupsRussell Belfer2013-04-291-1/+1
| | | | | Removed useless prototype and renamed object typecast functions declaration macro.
* Standardize cast versions of git_object accessorsRussell Belfer2013-04-291-0/+12
| | | | | | 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.
* Duplicated type objectVicent Marti2013-04-221-1/+0
|
* object: Export git_object_dupVicent Marti2013-04-101-7/+0
|
* update copyrightsEdward Thomson2013-01-081-1/+1
|
* Reorg internal odb read header and object lookupRussell Belfer2012-09-101-0/+39
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.