report
Generates a markdown report showing what changes apply would make, without actually making them. Changes are grouped by output file path and deduplicated so identical diffs across repos appear only once.
gitrepoforge report [flags]
Flags
| Flag | Required | Description |
|---|---|---|
--repo <name> | no | Target a single repo by its directory name. |
--output <path> | no | Write the markdown report to a file instead of stdout. |
Behavior
- Loads the root config (
.gitrepoforge-config) and config repo. - Discovers Git repos in the workspace (or targets the single
--repo). - For each repo with a valid
.gitrepoforgeconfig, computes the findings thatapplywould produce. - Aggregates findings by output file path across all repos.
- Deduplicates diffs so that repos receiving the same change share a single diff block.
- Outputs a markdown report to stdout or to the file specified by
--output.
Report Structure
The generated markdown report contains:
- Repository Summary – a table listing each repository that has changes and the number of changes.
- File Summary – a table listing each output file, its operation, and the number of affected repositories.
- File Sections – one section per output file path, showing the affected repositories and the deduplicated diffs.
Diffs are rendered using the markdown diff code block syntax ( ``diff ). When collapse_diffs is true (the default), each diff is wrapped in a collapsible
When multiple repos have the same change to a file, the diffs are deduplicated based on the added and removed lines. Context lines that differ between repos (due to surrounding content) are ignored for deduplication purposes. If different repos have different changes to the same file, each unique change is shown separately with its own list of affected repositories.