Commit Briefs

4ff67682be Stefan Sperling

detect objects missing from pack file that should be present (topoload)


387c45f4c7 Stefan Sperling

fix None-deref




37649c267b Stefan Sperling

display amount of packed objects after indexing


a73668185f Stefan Sperling

more debug


a214d0e777 Stefan Sperling

more tag debug


ea75ac8a3a Stefan Sperling

tag debugging


7c0f5a1425 Stefan Sperling

for now, send tags to the archive unconditionally


59f842daf3 Stefan Sperling

tweak debug


dc6d4f4cdd Stefan Sperling

fix commit processing


cbe1c11028 Stefan Sperling

improve performance and debug log output


91b0caf89f Stefan Sperling

syntactic changes made by black and isort


1abdec0ef1 Stefan Sperling

reduce storage requests by inferring object presence via dependencies

Query the presence of packed objects in bulk. First look for missing contents. Assuming topogical loading order, trees, commits, and tags which depend on these contents will be missing as well. Based on this assumption we can avoid sending queries about such objects to storage. The approach was suggested by olasd, but all potential bugs in here are mine.



aaff2b2add Stefan Sperling

fix typo in test name



60aa31fc9d Stefan Sperling

the pointer between commits must point the other way

pointed out by olasd


19231ab78f Stefan Sperling

add all commits found in pack file to the graph, not just tip commits

pointed out by olasd


f6c9bf1db2 Stefan Sperling

exclude submodules from the packed object graph

pointed out by olasd


3f6425401a Stefan Sperling

use igraph to store our graph of packed git objects


948ae59d41 Stefan Sperling

build a graph of objects found in the pack file

Not used yet, still WIP.


971c04d1b7 Stefan Sperling

make the Git loader load objects in topological order

The Git loader will now send objects to storage in topological Git DAG order. There is no support for topological order in the dumb loader yet because the current implementation assumes that a single pack file will be fetched from the server. The tests are passing, except for these 4: TestGitLoader::test_metrics TestGitLoader::test_metrics_filtered TestGitLoader2::test_load_incremental TestGitLoader2::test_load_incremental_from[partial-parent-and-empty-previous] It seems these tests depend on assumptions that are no longer valid once objects get loaded in topological order? The implementation does not yet handle edge cases such as tags pointing at non-commit objects.


0dd744df1d Antoine Lambert

tests: Fix numerous tests after recent changes in loader-core (master)

BaseLoader.load now returns a dict with an extra error field when a loading fails.


48d0acfaa1 Renaud Boyer

Fix Commit.extra is deprecated