diff --git a/README.md b/README.md index bb55c4d..9ccb407 100644 --- a/README.md +++ b/README.md @@ -62,8 +62,30 @@ nodrift check HEAD~1 Exit code is `0` if nothing changed, `1` if something did — so it drops straight into CI. +To compare two commits without checking either one out, pass both: + +```bash +nodrift check HEAD~1 HEAD +``` + If your package lives under `src/`, pass `--subdir src`. +`--verbose` names everything the verdict does *not* cover: functions whose +inputs were too large to record, and functions quarantined as +nondeterministic. + +### Recording part of a package + +One noisy or vendored module can dominate a recording. Both options take +`fnmatch` patterns against the full `module:Qualname` target and repeat: + +```bash +nodrift record -p mypkg --exclude "mypkg.vendored.*" +nodrift record -p mypkg --include "mypkg.core.*" +``` + +Whatever the patterns skip is printed, not hidden. + ## How it works 1. **Record.** A pytest plugin wraps every function in your package and diff --git a/pyproject.toml b/pyproject.toml index ead581b..e716199 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "nodrift" -version = "0.1.2" +version = "0.1.3" description = "Prove a refactor changed nothing — by replaying your tests' real inputs against both versions." readme = "README.md" requires-python = ">=3.9" diff --git a/src/nodrift/__init__.py b/src/nodrift/__init__.py index 1aacf74..039c540 100644 --- a/src/nodrift/__init__.py +++ b/src/nodrift/__init__.py @@ -7,7 +7,7 @@ No model reviews the code. The verdict comes from execution. """ -__version__ = "0.1.2" +__version__ = "0.1.3" from .compare import compare from .fingerprint import fingerprint