rlsbl v0.113.0 /rlsbl.commands.monorepo.commands
On this page

Monorepo workspace management commands: init, add, remove, list, status, outdated, release-order, check-names, and lint.

#rlsbl.commands.monorepo.commands

#rlsbl.commands.monorepo.commands

Monorepo workspace management commands: init, add, remove, list, status, outdated, and check-names.

#_latest_tag_for_glob

python
def _latest_tag_for_glob(tag_glob)

Return the newest tag matching tag_glob, or None when there is none.

The version parsed out of the tag is no longer needed: the status table reports real JSONL coverage over the <tag>..HEAD range instead of counting CHANGELOG bullets above the tag's heading.

#_coverage_column

python
def _coverage_column(latest_tag, changes_dir, scope_projects)

Return the Coverage-column string for one status row.

Real JSONL coverage: the commits since latest_tag, scoped to the row's project(s), minus the exempt ones, cross-referenced against the row's unreleased.jsonl. Rendered covered/tracked with a (N exempted) suffix, matching rlsbl status.

This column used to count CHANGELOG.md bullet lines above the last version heading. CHANGELOG.md is regenerated from the JSONL at release time, so that count described the previous release's prose, never whether the current unreleased commits had entries -- and it read as "documented" when no entry existed at all.

"no changelog" when the changes directory is missing.

#_cmd_status_explicit

python
def _cmd_status_explicit(root, projects)

Render per-releasable status rows for an explicit-mode workspace.

One row per releasable (version, tag, coverage, member count + names), plus one row for each standalone project not belonging to any releasable. Tag globs come from the shared resolver so releasable members resolve their releasable's tag_format instead of a per-member glob.

Search