Skip to content

feat(diff): path-scope the range to the named package in a monorepo #752

Description

@BryanFRD

Follow-up to #222 (implemented in #751). ferrflow diff <package> <from>..<to> currently lists every commit between the two tags — the raw git range. For a single-package repo that's exactly right, but in a monorepo it includes commits that only touched other packages, so the commit list, breaking-change list, and generated changelog are a superset of what actually went into <package>.

Proposed: when a package is named (or the repo is a monorepo), filter the range's commits to those that touched the package's path (and sharedPaths), the same way compute_plan scopes commits per package. That makes diff's changelog match the changelog ferrflow release would actually generate for that package.

Notes: needs a per-commit changed-files check across the range (each commit vs its parent), then a path match against the package. The plumbing overlaps with the per-package planning path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions