Skip to content

perf(status): Compare the live folder once for all overlap bases - #125

Merged
ifdotpy merged 3 commits into
mainfrom
perf/status-bases
Nov 1, 2026
Merged

ifdotpy merged 3 commits into
mainfrom
perf/status-bases

Conversation

@ifdotpy

@ifdotpy ifdotpy commented Nov 1, 2026

Copy link
Copy Markdown
Owner

Follow-up of #118. layr status compared our live folder once per merge base (about 15 bases in Studio). Each compare walked the live folder again.

Change:

  • Our live folder is compared once, with our head state (one live compare per call).
  • Per base, the compare of base and our head is a saved state compare, cached as in perf(status): Cache overlap compares of saved states #118.
  • The changes against the base are the combination of the two parts. A path that both parts changed is checked again against the base with the same test as the direct compare.
  • A rename, or a file that the parts show as added and removed and that git would pair, falls back to the direct compare.
  • Overlay layers use the same method: one live compare per overlay.
  • Output unchanged. t97 checks the overlaps against the 0.13.1 output (rows and full JSON).

Tests: t97-status-overlaps-bases (new, in the macOS and overlayfs lists), t93 (cache), plus the unit tests of the merge logic.

@ifdotpy
ifdotpy merged commit 9e105ed into main Nov 1, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant