Skip to content

compare two refs - #21

Merged
LuShadowX merged 3 commits into
mainfrom
compare-two-refs
Aug 8, 2026
Merged

compare two refs#21
LuShadowX merged 3 commits into
mainfrom
compare-two-refs

Conversation

@LuShadowX

Copy link
Copy Markdown
Owner
  • Bring the README's platform, comparator and overhead claims up to date
  • Let check compare two arbitrary refs

Windows is tested in CI as of #20, numpy arrays are compared as of #19, and
recording has cost ~8x rather than 15-20x since the back-off work.
check took one ref and always compared it against the working tree, so
reviewing someone else's branch or auditing a release meant checking it out
first. A second optional positional ref is now the candidate:

    nodrift check HEAD~1 HEAD

With no second ref the working tree is still the candidate, which is the
common case.

Closes #11
A repository with __pycache__ committed hands the replay bytecode compiled
from other source. Python runs it in preference to the file git archive just
materialised, so both versions behave identically and check reports no
behaviour change while the code genuinely differs.

Found while testing two-ref comparison: a tree staged from a commit
containing POSITIVE replayed as positive, and check called it clean. The
one-ref path had the same hole.

Silent wrongness rather than an error, which is the worst failure this tool
has. Compiled artifacts are now removed from every staged tree, exported or
copied. The regression test commits stale bytecode deliberately and fails
without the fix.
@LuShadowX
LuShadowX merged commit 627d265 into main Aug 8, 2026
10 checks passed
@LuShadowX
LuShadowX deleted the compare-two-refs branch August 8, 2026 03:53
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