#0106 Multi-Repository Support #156

Merged
fuzzy merged 1 commit from feature/0106-multi-repository-support into main 2026-07-06 07:46:08 +00:00
Owner

Adds support for processing multiple git repositories in a single run.

Changes:

  • src/hottea/cli.py--repo-path flag (repeatable), multi-repo pipeline
  • tests/test_cli.py — 3 new tests for repo path parsing and validation

Usage:

hottea --repo-path ~/project-a --repo-path ~/project-b --output heatmap.sql

Cross-repo coordination:

  • Commits from all repos are aggregated
  • Combined SQL output with a single transaction wrapper
  • Shared Forgejo user and repo ID for all repos
  • Each record still has per-commit comments

Closes: #0106, #0103, #0104, #0105

Adds support for processing multiple git repositories in a single run. **Changes:** - `src/hottea/cli.py` — `--repo-path` flag (repeatable), multi-repo pipeline - `tests/test_cli.py` — 3 new tests for repo path parsing and validation **Usage:** ```bash hottea --repo-path ~/project-a --repo-path ~/project-b --output heatmap.sql ``` **Cross-repo coordination:** - Commits from all repos are aggregated - Combined SQL output with a single transaction wrapper - Shared Forgejo user and repo ID for all repos - Each record still has per-commit comments **Closes:** #0106, #0103, #0104, #0105
feat(cli): add multi-repository support via --repo-path flag
All checks were successful
CI / lint-and-test (pull_request) Successful in 1m29s
9eefcf2bc7
Add support for processing multiple git repositories in a single run.

- --repo-path flag can be specified multiple times (defaults to cwd)
- validate_environment() accepts repo_paths parameter
- main() iterates over all repos, aggregates commits, generates combined SQL
- Cross-repo coordination: all commits combined into single SQL output

Closes #103, #104, #105, #106
the.auditor left a comment

Audit Review — PR #156

Clean multi-repository support. All 3 issues (#0103-#0105) addressed. Good use of action="append" for repeatable flag, sensible aggregation of actions/comments across repos, Forgejo API calls moved before repo iteration (fail-fast).

Minor note: repo_name=cfg.repo (just repo name) replaces previous f"{cfg.username}/{cfg.repo}" (owner/repo) in SQL comments. If owner context is desired in the output, consider restoring the full owner/repo format. Not a blocking concern.

No suggestions — clean PR.

Summary

Result: COMMENT — no issues found.

## Audit Review — PR #156 Clean multi-repository support. All 3 issues (#0103-#0105) addressed. Good use of `action="append"` for repeatable flag, sensible aggregation of actions/comments across repos, Forgejo API calls moved before repo iteration (fail-fast). Minor note: `repo_name=cfg.repo` (just repo name) replaces previous `f"{cfg.username}/{cfg.repo}"` (owner/repo) in SQL comments. If owner context is desired in the output, consider restoring the full `owner/repo` format. Not a blocking concern. No suggestions — clean PR. ## Summary **Result:** COMMENT — no issues found.
the.auditor left a comment

APPROVED. Multi-repo support cleanly implemented. Merge when ready.

APPROVED. Multi-repo support cleanly implemented. Merge when ready.
fuzzy merged commit 9eefcf2bc7 into main 2026-07-06 07:46:08 +00:00
fuzzy deleted branch feature/0106-multi-repository-support 2026-07-06 07:46:08 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
thwap/hottea!156
No description provided.