gitlife currently skips repositories whose ref digest is unchanged but any ref movement triggers a complete git log --all and reparses every reachable commit.
This makes incremental sync cost proportional to total repository history rather than the amount of new/removed history.
Large repositories therefore become increasingly expensive even when only a handful of commits changed. Should investigate an incremental walk based on previously indexed object IDs/ref state while still correctly handling force-pushes, branch deletion and history becoming unreachable.
gitlife currently skips repositories whose ref digest is unchanged but any ref movement triggers a complete git log --all and reparses every reachable commit.
This makes incremental sync cost proportional to total repository history rather than the amount of new/removed history.
Large repositories therefore become increasingly expensive even when only a handful of commits changed. Should investigate an incremental walk based on previously indexed object IDs/ref state while still correctly handling force-pushes, branch deletion and history becoming unreachable.