vcspull worktree sync¶

Create or update worktrees to match configuration.

Command¶

Usage¶

usage: vcspull worktree sync [-h] [-f FILE] [-w DIR] [--json] [--ndjson]
                             [--color {auto,always,never}] [--dry-run]
                             [pattern ...]

Positional Arguments¶

repo_patterns pattern¶

patterns / terms of repos, accepts globs / fnmatch(3)

Default
None

Options¶

-f, --file FILE¶

path to config file (default: ~/.vcspull.yaml or ./.vcspull.yaml)

Default
None
-w, --workspace, --workspace-root DIR¶

filter by workspace root directory

Default
None
--json¶

output as JSON

Default
False
--ndjson¶

output as NDJSON (one JSON per line)

Default
False
--color¶

when to use colors (default: auto)

Default
auto
Choices
auto, always, never
--dry-run, -n¶

preview what would be synced without making changes

Default
False

Basic usage¶

Sync all configured worktrees:

$ vcspull worktree sync '*'

The sync subcommand:

  • Creates missing worktrees at the configured dir

  • Pulls latest changes for branch worktrees

  • Leaves tag and commit worktrees unchanged (they’re immutable)

  • Skips worktrees with uncommitted changes (BLOCKED)

Dry run¶

Preview what would happen without making changes:

$ vcspull worktree sync --dry-run '*'

Filtering¶

Sync worktrees for specific repositories:

$ vcspull worktree sync 'myproject'

Use fnmatch-style patterns:

$ vcspull worktree sync 'django*'

JSON output¶

$ vcspull worktree sync --json '*'

NDJSON output¶

$ vcspull worktree sync --ndjson '*'