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: sections with their section boundary hints.
  • Files whose selected output is absent: true are not listed.
  • mode: delete outputs are not listed.
  • Templates that only use bootstrap content 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_file
  • end_of_file
  • line(4)
  • content("...")
  • contains("...")

See Template Files for the directive details.