libgit2/include/git2
Vicent Marti d4a0b124d0 refs: Partial rewrite for read-only refs
This new version of the references code is significantly faster and
hopefully easier to read.

External API stays the same. A new method `git_reference_reload()` has
been added to force updating a memory reference from disk. In-memory
references are no longer updated automagically -- this was killing us.

If a reference is deleted externally and the user doesn't reload the
memory object, nothing critical happens: any functions using that
reference should fail gracefully (e.g. deletion, renaming, and so on).

All generated references from the API are read only and must be free'd
by the user. There is no reference counting and no traces of generated
references are kept in the library.

There is no longer an internal representation for references. There is
only one reference struct `git_reference`, and symbolic/oid targets are
stored inside an union.

Packfile references are stored using an optimized struct with flex array
for reference names. This should significantly reduce the memory cost of
loading the packfile from disk.
2011-11-06 03:15:34 +01:00
..
blob.h Cleanup legal data 2011-09-19 01:54:32 +03:00
branch.h Cleanup legal data 2011-09-19 01:54:32 +03:00
commit.h Tabify everything 2011-09-19 03:34:49 +03:00
common.h fix build for x64 2011-10-09 05:29:57 +02:00
config.h msvc: Remove superfluous includes 2011-10-05 13:44:27 -07:00
errors.h Tabify everything 2011-09-19 03:34:49 +03:00
index.h Tabify everything 2011-09-19 03:34:49 +03:00
indexer.h Cleanup legal data 2011-09-19 01:54:32 +03:00
inttypes.h msvc: Properly handle inttypes.h/stdint.h 2011-10-05 16:21:16 -04:00
net.h Cleanup legal data 2011-09-19 01:54:32 +03:00
object.h Cleanup legal data 2011-09-19 01:54:32 +03:00
odb_backend.h odb: Let users decide compression level for the loose ODB 2011-09-29 15:34:17 +02:00
odb.h Tabify everything 2011-09-19 03:34:49 +03:00
oid.h global: Properly use git__ memory wrappers 2011-10-28 19:02:36 -07:00
reflog.h Cleanup legal data 2011-09-19 01:54:32 +03:00
refs.h refs: Partial rewrite for read-only refs 2011-11-06 03:15:34 +01:00
refspec.h Cleanup legal data 2011-09-19 01:54:32 +03:00
remote.h Cleanup legal data 2011-09-19 01:54:32 +03:00
repository.h repository: export git_repository_config_autoload 2011-09-30 06:28:22 +02:00
revwalk.h Tabify everything 2011-09-19 03:34:49 +03:00
signature.h Cleanup legal data 2011-09-19 01:54:32 +03:00
status.h Tabify everything 2011-09-19 03:34:49 +03:00
stdint.h msvc: Properly handle inttypes.h/stdint.h 2011-10-05 16:21:16 -04:00
tag.h Tabify everything 2011-09-19 03:34:49 +03:00
thread-utils.h Tabify everything 2011-09-19 03:34:49 +03:00
transport.h Cleanup legal data 2011-09-19 01:54:32 +03:00
tree.h tree: Add traversal in post-order 2011-10-27 22:33:31 -07:00
types.h Tabify everything 2011-09-19 03:34:49 +03:00
version.h put version information in separate file 2011-10-09 18:39:52 +02:00
windows.h windows: Add support for non-UTF codepages 2011-10-26 17:43:44 -07:00
zlib.h Cleanup legal data 2011-09-19 01:54:32 +03:00