Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

dotling sync

Synchronise tracked entries between the repo and the actual filesystem.

Usage

dotling sync [OPTIONS]

Options

FlagDescription
--dry-runShow what would change without modifying anything
--forceOverwrite conflicting files without prompting (repo wins)
--prefer-actualWhen both sides differ, prefer the local file (alias: --prefer-local)
--no-interactiveSkip conflicting entries and print a warning
--allow-hooksExecute all hooks without prompting
--no-hooksDisable all hook execution

Description

dotling sync is the core command that keeps your repo and actual filesystem in sync. It processes all entries in dotling.toml:

  • Symlink entries — ensures the symlink exists and points to the correct repo file
  • Copy entries — compares content fingerprints and copies in the newer direction
  • Encrypted entries — decrypts or re-encrypts based on which side is newer
  • Template entries — renders the template and deploys the output

See Sync for the full sync process, conflict resolution, and hook system.

Examples

# Sync everything
dotling sync

# Preview changes
dotling sync --dry-run

# Force repo version on all conflicts
dotling sync --force

# Prefer local files on conflicts
dotling sync --prefer-actual

# Non-interactive (for scripts/CI)
dotling sync --no-interactive

# Trust all hooks
dotling sync --allow-hooks

# Skip all hooks
dotling sync --no-hooks