Managed Files Manifest
Each managed repository gets a generated manifest file. By default the path is:
.managedfiles
The manifest field in .gitrepoforge-config sets the workspace default path. The manifest field in a repo’s .gitrepoforge overrides the workspace value for that repo. If neither is set, gitrepoforge uses .managedfiles.
The manifest is derived from the selected output rules and templates for that repository. It is not configuration, cannot be turned off, and any manual edits are overwritten the next time gitrepoforge applies changes.
Purpose
The manifest gives repository contributors a quick answer to:
- Which files are fully managed by gitrepoforge?
- Which files are only partially managed?
- Which section boundaries are managed inside a partially managed file?
The manifest also lists itself as a managed file at its resolved path.
Example
# This file is generated by gitrepoforge.
# Changes will be overwritten the next time gitrepoforge runs.
managed_files:
- path: .managedfiles
management: file
- path: LICENSE
management: file
- path: README.md
management: sections
sections:
- start: start_of_file
end: contains("<!-- END MANAGED -->")
Structure
| Field | Description |
|---|---|
managed_files | Ordered list of files managed for the current repo. |
managed_files[].path | Path relative to the repo root. |
managed_files[].management | file when the full file is replaced, or sections when only specific regions are managed. |
managed_files[].sections | Present only for section-managed files. Each item records the start and end boundaries from the template directives. |
Inclusion Rules
- File-level outputs are listed as
management: file. - Section-based outputs are listed as
management: sectionswith their section boundary hints. - Files whose selected output is
absent: trueare not listed. mode: deleteoutputs are not listed.- Templates that only use
bootstrapcontent are not listed after creation because they do not keep managing any part of an existing file.
Relationship to Templates
For partial management, the manifest reports the same boundary expressions used by template section directives, such as:
start_of_fileend_of_fileline(4)content("...")contains("...")
See Template Files for the directive details.