Enum RepoCorruptionKind
Identifies the kind of repository corruption surfaced via the CorruptionDetected event.
Namespace: FulcrumFS
Assembly: FulcrumFS.dll
Syntax
public enum RepoCorruptionKind
Remarks
Convention: every code path that throws because of detected repository corruption MUST fire the CorruptionDetected event (with the appropriate RepoCorruptionKind) before throwing, so consumers can observe and repair corruption regardless of which entry point happened to detect it. The corresponding exception types are DanglingAliasException (for DanglingAlias) and RepoCorruptedException (the umbrella for hard-fail kinds such as DuplicateVariantEntry and RebaseInconsistency).
Fields
| Name | Description |
|---|---|
| DanglingAlias | A variant alias was encountered whose source data file is missing. See DanglingAliasException and DanglingAliasInfo for the data carried alongside this kind. |
| DuplicateVariantEntry | More than one file in a file group directory maps to the same logical variant slot (for example, two data files for the main file, or two alias markers for the same variant ID). Operations that surface this kind throw RepoCorruptedException; the slot cannot be safely resolved without manual intervention. |
| MalformedAlias | An alias marker was encountered whose filename cannot be parsed (or otherwise violates a structural invariant). The repository treats malformed alias markers as nonexistent. |
| OrphanRebaseMarker | A rebase marker was observed whose source data, chosen data, and surviving alias dependents are all gone - leaving the marker with no derivable source extension and nothing to fork. The marker is residue from a rebase whose final marker-delete step was skipped or lost, and the cleaner will physically remove it. Surfaced for visibility only; no exception is thrown. |
| RebaseInconsistency | A rebase operation cannot be resumed because required files are missing (for example, the chosen survivor has neither a materialized data file nor an alias marker, or the source data file is missing while the chosen variant is still an unmaterialized alias). Operations that surface this kind throw RepoCorruptedException. |
| Unknown | The corruption kind is unknown or unspecified. This is the default value and should not be used by event consumers as a meaningful discriminator. |