Skip to main content
Documentation
CLI Reference

Advanced Commands

Use the current local diagnostics without mistaking planned object plumbing for shipped commands.

Current commands

CommandCurrent behaviorUsage
fsckVerify local objects, manifests, commits, refs, and commit-graph linksdits fsck [-v]
gcReport unreachable-object candidates without deleting anythingdits gc --dry-run

dits fsck

fsck reads local repository structures, verifies BLAKE3 object paths against their bytes, checks manifests and commits, and validates refs and commit-graph links. It reports a nonzero result when integrity errors are found; it does not fetch or repair missing data.

# Check the repository
dits fsck

# Show each check as it runs
dits fsck --verbose

dits gc

Destructive garbage collection is disabled. The only supported mode is a read-only candidate report:

dits gc --dry-run

# These flags are accepted but ignored in read-only mode:
dits gc --dry-run --prune --aggressive

Low-level object commands are roadmap

The following familiar Git-shaped names are not Dits commands today. They are design candidates, so examples that show them succeeding are intentionally omitted:

  • dits prune
  • dits pack
  • dits unpack
  • dits cat-file
  • dits hash-object
  • dits rev-parse
  • dits ls-tree
  • dits ls-files

Use dits --help as the command-level authority and the status and roadmap for capability maturity.