Coverage report: 100%

Files Functions Classes

coverage.py v7.14.0, created at 2026-07-16 12:51 +0000

File function   statements missing excluded   coverage
src / rhiza / __init__.py (no function)   6 0 0   100%
src / rhiza / __main__.py load_plugins   7 0 0   100%
src / rhiza / __main__.py main   2 0 0   100%
src / rhiza / __main__.py (no function)   8 0 0   100%
src / rhiza / cli.py _exit_on_error   5 0 0   100%
src / rhiza / cli.py version_callback   3 0 0   100%
src / rhiza / cli.py main   0 0 0   100%
src / rhiza / cli.py sync   9 0 0   100%
src / rhiza / cli.py summarise   2 0 0   100%
src / rhiza / cli.py (no function)   20 0 0   100%
src / rhiza / commands / __init__.py (no function)   2 0 0   100%
src / rhiza / commands / _sync_helpers.py (no function)   2 0 0   100%
src / rhiza / commands / summarise / __init__.py generate_pr_description   15 0 0   100%
src / rhiza / commands / summarise / __init__.py summarise   14 0 0   100%
src / rhiza / commands / summarise / __init__.py (no function)   8 0 0   100%
src / rhiza / commands / summarise / _gather.py run_git_command   6 0 0   100%
src / rhiza / commands / summarise / _gather.py get_staged_changes   19 0 0   100%
src / rhiza / commands / summarise / _gather.py _categorize_by_directory   16 0 0   100%
src / rhiza / commands / summarise / _gather.py _categorize_single_file   11 0 0   100%
src / rhiza / commands / summarise / _gather.py categorize_files   5 0 0   100%
src / rhiza / commands / summarise / _gather.py get_template_info   17 0 0   100%
src / rhiza / commands / summarise / _gather.py get_last_sync_date   17 0 0   100%
src / rhiza / commands / summarise / _gather.py (no function)   22 0 0   100%
src / rhiza / commands / summarise / _render.py _format_file_list   4 0 0   100%
src / rhiza / commands / summarise / _render.py _add_category_section   9 0 0   100%
src / rhiza / commands / summarise / _render.py _build_header   10 0 0   100%
src / rhiza / commands / summarise / _render.py _build_summary   1 0 0   100%
src / rhiza / commands / summarise / _render.py _build_footer   7 0 0   100%
src / rhiza / commands / summarise / _render.py _generate_json_output   2 0 0   100%
src / rhiza / commands / summarise / _render.py _plain_file_section   5 0 0   100%
src / rhiza / commands / summarise / _render.py _generate_plain_output   11 0 0   100%
src / rhiza / commands / summarise / _render.py _plain_header   7 0 0   100%
src / rhiza / commands / summarise / _render.py _plain_change_body   7 0 0   100%
src / rhiza / commands / summarise / _render.py _plain_footer   5 0 0   100%
src / rhiza / commands / summarise / _render.py _generate_jinja2_output   3 0 0   100%
src / rhiza / commands / summarise / _render.py _render_category_group   11 0 0   100%
src / rhiza / commands / summarise / _render.py _render_flat_files   5 0 0   100%
src / rhiza / commands / summarise / _render.py _markdown_body   18 0 0   100%
src / rhiza / commands / summarise / _render.py (no function)   38 0 0   100%
src / rhiza / commands / sync.py _log_list   4 0 0   100%
src / rhiza / commands / sync.py _load_template_from_project   29 0 0   100%
src / rhiza / commands / sync.py _validate_clone_config   4 0 0   100%
src / rhiza / commands / sync.py _raise_unknown_profile   5 0 0   100%
src / rhiza / commands / sync.py _resolve_bundle_names   11 0 0   100%
src / rhiza / commands / sync.py _clone_template   20 0 0   100%
src / rhiza / commands / sync.py sync   33 0 0   100%
src / rhiza / commands / sync.py (no function)   20 0 2   100%
src / rhiza / models / __init__.py (no function)   6 0 0   100%
src / rhiza / models / _base.py YamlSerializable.from_yaml   1 0 0   100%
src / rhiza / models / _base.py YamlSerializable.from_config   0 0 1   100%
src / rhiza / models / _base.py YamlSerializable.config   0 0 1   100%
src / rhiza / models / _base.py YamlSerializable.to_yaml   3 0 0   100%
src / rhiza / models / _base.py read_yaml   7 0 0   100%
src / rhiza / models / _base.py (no function)   13 0 2   100%
src / rhiza / models / _git / __init__.py (no function)   3 0 0   100%
src / rhiza / models / _git / _base.py (no function)   3 0 0   100%
src / rhiza / models / _git / context.py GitContext.default   3 0 0   100%
src / rhiza / models / _git / context.py GitContext.assert_status_clean   7 0 0   100%
src / rhiza / models / _git / context.py GitContext.handle_target_branch   15 0 0   100%
src / rhiza / models / _git / context.py (no function)   15 0 0   100%
src / rhiza / models / _git / diff.py _path_after   4 0 0   100%
src / rhiza / models / _git / diff.py _DiffFileState.reset   5 0 0   100%
src / rhiza / models / _git / diff.py _DiffFileState.update   8 0 0   100%
src / rhiza / models / _git / diff.py _DiffFileState.entry   2 0 0   100%
src / rhiza / models / _git / diff.py DiffMixin.get_diff   10 0 0   100%
src / rhiza / models / _git / diff.py DiffMixin.sync_diff   6 0 0   100%
src / rhiza / models / _git / diff.py DiffMixin._parse_diff_filenames   12 0 0   100%
src / rhiza / models / _git / diff.py DiffMixin._parse_diff_filenames._flush   3 0 0   100%
src / rhiza / models / _git / diff.py (no function)   22 0 0   100%
src / rhiza / models / _git / helpers.py _normalize_to_list   8 0 0   100%
src / rhiza / models / _git / helpers.py get_git_executable   5 0 0   100%
src / rhiza / models / _git / helpers.py _log_git_stderr_errors   5 0 0   100%
src / rhiza / models / _git / helpers.py (no function)   6 0 0   100%
src / rhiza / models / _git / lock_io.py _warn_about_workflow_files   4 0 0   100%
src / rhiza / models / _git / lock_io.py _files_from_snapshot   1 0 0   100%
src / rhiza / models / _git / lock_io.py _read_previously_tracked_files   4 0 0   100%
src / rhiza / models / _git / lock_io.py _files_from_lock   17 0 0   100%
src / rhiza / models / _git / lock_io.py _delete_orphaned_file   8 0 0   100%
src / rhiza / models / _git / lock_io.py _clean_orphaned_files   19 0 0   100%
src / rhiza / models / _git / lock_io.py _lock_content_unchanged   7 0 0   100%
src / rhiza / models / _git / lock_io.py _lock_identity   1 0 0   100%
src / rhiza / models / _git / lock_io.py _write_lock   23 0 0   100%
src / rhiza / models / _git / lock_io.py (no function)   20 0 2   100%
src / rhiza / models / _git / merge.py MergeMixin._apply_non_merge   14 0 0   100%
src / rhiza / models / _git / merge.py MergeMixin._git_merge_file   9 0 0   100%
src / rhiza / models / _git / merge.py MergeMixin._merge_file_fallback   13 0 0   100%
src / rhiza / models / _git / merge.py MergeMixin._merge_one_file   5 0 0   100%
src / rhiza / models / _git / merge.py MergeMixin._scan_conflict_artifacts   15 0 0   100%
src / rhiza / models / _git / merge.py MergeMixin._apply_diff   13 0 0   100%
src / rhiza / models / _git / merge.py MergeMixin._decode_stderr   1 0 0   100%
src / rhiza / models / _git / merge.py MergeMixin._git_apply   1 0 0   100%
src / rhiza / models / _git / merge.py MergeMixin._apply_reject   8 0 0   100%
src / rhiza / models / _git / merge.py MergeMixin._report_conflict_artifacts   9 0 0   100%
src / rhiza / models / _git / merge.py MergeMixin._copy_files_to_target   6 0 0   100%
src / rhiza / models / _git / merge.py MergeMixin.sync_merge   19 0 0   100%
src / rhiza / models / _git / merge.py MergeMixin._merge_with_base   20 0 0   100%
src / rhiza / models / _git / merge.py (no function)   31 0 3   100%
src / rhiza / models / _git / remote.py RemoteOpsMixin.update_sparse_checkout   9 0 0   100%
src / rhiza / models / _git / remote.py RemoteOpsMixin.get_head_sha   2 0 0   100%
src / rhiza / models / _git / remote.py RemoteOpsMixin.clone_repository   29 0 0   100%
src / rhiza / models / _git / remote.py RemoteOpsMixin.clone_at_sha   20 0 0   100%
src / rhiza / models / _git / remote.py (no function)   10 0 0   100%
src / rhiza / models / _git / snapshot.py _expand_paths   9 0 0   100%
src / rhiza / models / _git / snapshot.py _excluded_set   5 0 0   100%
src / rhiza / models / _git / snapshot.py _remap_path   10 0 0   100%
src / rhiza / models / _git / snapshot.py _prepare_snapshot   11 0 0   100%
src / rhiza / models / _git / snapshot.py (no function)   8 0 0   100%
src / rhiza / models / bundle.py _ensure_safe_bundle_path   5 0 0   100%
src / rhiza / models / bundle.py BundleFileEntry.__post_init__   2 0 0   100%
src / rhiza / models / bundle.py BundleFileEntry.is_remapped   1 0 0   100%
src / rhiza / models / bundle.py BundleFileEntry.from_config_entry   7 0 0   100%
src / rhiza / models / bundle.py BundleFileEntry.to_config_entry   3 0 0   100%
src / rhiza / models / bundle.py BundleFileEntry.remap_expanded_path   9 0 0   100%
src / rhiza / models / bundle.py _parse_bundle_files   5 0 0   100%
src / rhiza / models / bundle.py _parse_bundle_definitions   10 0 0   100%
src / rhiza / models / bundle.py _parse_profile_definitions   12 0 0   100%
src / rhiza / models / bundle.py RhizaBundles._bundle_to_entry   14 0 0   100%
src / rhiza / models / bundle.py RhizaBundles._profile_to_entry   5 0 0   100%
src / rhiza / models / bundle.py RhizaBundles.config   7 0 0   100%
src / rhiza / models / bundle.py RhizaBundles.from_config   4 0 0   100%
src / rhiza / models / bundle.py RhizaBundles._resolve_bundle_order   7 0 0   100%
src / rhiza / models / bundle.py RhizaBundles._resolve_bundle_order._collect   18 0 0   100%
src / rhiza / models / bundle.py RhizaBundles.resolve_to_paths   10 0 0   100%
src / rhiza / models / bundle.py RhizaBundles.resolve_to_paths._add   3 0 0   100%
src / rhiza / models / bundle.py RhizaBundles.resolve_to_path_map   11 0 0   100%
src / rhiza / models / bundle.py RhizaBundles.resolve_profile_to_paths   4 0 0   100%
src / rhiza / models / bundle.py (no function)   50 0 0   100%
src / rhiza / models / lock.py TemplateLock.from_config   1 0 0   100%
src / rhiza / models / lock.py TemplateLock.config   8 0 0   100%
src / rhiza / models / lock.py (no function)   22 0 0   100%
src / rhiza / models / template.py RhizaTemplate.from_config   3 0 0   100%
src / rhiza / models / template.py RhizaTemplate.config   13 0 0   100%
src / rhiza / models / template.py RhizaTemplate.git_url   8 0 0   100%
src / rhiza / models / template.py (no function)   25 0 2   100%
Total     1305 0 13   100%

No items found using the specified filter.