rlsbl.commands.release

Release command: bump version, commit, push, create GitHub Release.

Functions

parse_porcelain_paths

def parse_porcelain_paths(porcelain_output)

Parse file paths from git status --porcelain output.

Handles the case where run() strips stdout, potentially removing a leading space from the first line. Uses lstrip().split(None, 1) to robustly extract the status code and path regardless.

Returns a set of file paths found in the output.

run_cmd

def run_cmd(registry, args, flags)

Release command handler.

Bumps version, commits, pushes, and creates a GitHub Release.

_run_release_mutating

def _run_release_mutating(registry, reg, flags, quiet, log, new_version, current_version, bump_type, tag, branch, changelog_entry, target, is_scoped=False, version_dir='.', scope=None)

Inner release logic that runs under the advisory lock (mutating phase).