| name | oxmono-diff |
| description | Use when comparing modified OxCaml packages against pristine upstream, finding package sources, or understanding what changes were made to a vendored package |
Oxmono Diff
Overview
oxmono diff <package> shows differences between pristine upstream packages and their OxCaml-adapted versions. Use this to understand what modifications were made to any package in the monorepo.
When to Use
- Reviewing what changes were made to a package for OxCaml compatibility
- Understanding why a package differs from upstream
- Preparing to update a package to a newer upstream version
- Checking if local modifications need rebasing
Quick Reference
oxmono diff <package-name>
oxmono diff bytesrw
Finding Package Sources
Sources are tracked in sources.yaml and can be found by grepping through the package directories:
ls opam/<package-name>
ls sources/<package-name>
ls bleeding/<package-name>
ls opam/ | grep <pattern>
ls bleeding/ | grep <pattern>
Directory purposes:
opam/ - OxCaml-adapted packages (what gets built)
sources/ - Pristine upstream copies (read-only reference)
bleeding/ - New libraries being developed for OxCaml
How Diff Works
- Locates pristine source at
sources/<package>
- Locates modified version at
opam/<package>
- Runs
diff -ruN to show unified recursive diff
- Output shows all files that differ between upstream and local
Common Patterns
| Task | Command |
|---|
| View package diff | oxmono diff <pkg> |
| List all opam packages | ls opam/ |
| List bleeding packages | ls bleeding/ |
| Find package source URL | grep -A5 "<pkg>:" sources.yaml |
| Check if package exists | ls opam/<pkg> sources/<pkg> |