Repository Configuration
Repository-local settings live in .dits/config.toml; chunking is the active runtime use.
Location and selection
my-project/
├── .dits/
│ ├── config.toml # Managed by dits config
│ ├── remotes # Separate remote metadata
│ └── ...
└── ...While inside a repository, dits config selects .dits/config.toml unless --global is present. There is no --local flag and no layered merge with global settings.
Chunking configuration
| Key | Default | Role |
|---|---|---|
| chunking.min_size | 16KB | Minimum chunk size |
| chunking.target_size | 64KB | Target/average chunk size |
| chunking.max_size | 256KB | Maximum chunk size |
dits config chunking.min_size 32KB
dits config chunking.target_size 128KB
dits config chunking.max_size 512KB
dits config --listmin_size <= target_size <= max_size. The parser accepts individual sizes but does not yet validate the relationship among them. Changing chunking parameters can also reduce deduplication with objects created under a different profile.Stored-only repository keys
The repository file can also store user.name, user.email, core.default_branch, and core.verbose. They are not currently connected to commit identity, branch initialization, or command verbosity.
[core]
default_branch = "main"
verbose = false
[chunking]
target_size = 131072
min_size = 32768
max_size = 524288Separate repository metadata
Remote names and URLs do not live in this TOML document. Manage their JSON file with dits remote:
dits remote add origin /path/to/another-repository
dits remote --verboseRecording a remote works, but push, pull, fetch, and sync fail closed without transferring data in this alpha. Sparse-checkout also uses a separate .dits/config file; it is not managed by dits config.
Unsupported repository settings
File-mode, line-ending, compression, media, cache, hook-enable, branch-tracking, and remote-refspec sections are design-only and are rejected by the current dot-notation setter.