You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(config,cli) Numeric clone depth, sync keys under options: (#554)
vcspull can now keep a small window of git history per repository via a
numeric `options.depth: N`, instead of the all-or-nothing `shallow:
true`. The per-repository sync-tuning keys (`rev`, `shallow`, `depth`)
move into an `options:` block alongside the existing mutation policy,
and a new `vcspull migrate` command rewrites configs from the older
top-level form. Builds on the rev-pinning and shallow-detection work
from v1.61.0. Fixes#552.
- **Numeric depth:** `add` and `discover` accept `--depth N` (clone
`--depth N` on sync) and auto-detect an existing checkout's depth —
recording `options.shallow: true` for a depth-1 clone and
`options.depth: N` for a deeper window. `depth` wins over `shallow`.
- **options: block:** `rev`/`shallow`/`depth` are written under
`options:` (joining `pin`/`pin_reason`), keeping the entry root to the
repo URL, remotes, and worktrees.
- **vcspull migrate:** new subcommand (mirrors `fmt`: `-f/--file`,
`--write`, `--all`) that relocates top-level keys into `options:`;
previews by default and is idempotent on re-run.
- **Deprecation warning:** `vcspull sync` warns when it reads a config
still using the top-level form and points at `vcspull migrate`.
Breaking changes:
The `rev:` and `shallow:` keys that shipped at the repository entry
root in v1.61.0 are deprecated in favor of the `options:` block. They
are still read (with a warning), so existing configs keep working;
run `vcspull migrate --write` to update them.
# Before
~/code/:
flask:
repo: git+https://github.com/pallets/flask.git
shallow: true
# After
~/code/:
flask:
repo: git+https://github.com/pallets/flask.git
options:
shallow: true
Dependencies:
Minimum libvcs >= 0.42.0 (was >= 0.41.0) — its GitSync honors an
arbitrary clone depth, which `options.depth: N` relies on.
0 commit comments