Migration notes

Migration and deprecation notes for vcspull are here, see Changelog as well.

Welcome on board! 👋

  1. 📌 For safety, always pin the package

  2. 📖 Check the migration notes (You are here)

  3. 📣 If you feel something got deprecated and it interrupted you - past, present, or future - voice your opinion on the tracker.

    We want to make vcspull fun, reliable, and useful for users.

    API changes can be painful.

    If we can do something to draw the sting, we’ll do it. We’re taking a balanced approach. That’s why these notes are here!

    (Please pin the package. 🙏)

Next release

Per-repository sync keys moved under options:

via #552

The per-repository rev, shallow, and the new depth keys are now written under an options: block instead of the repository entry root. The top-level form still loads, but vcspull sync now warns when it reads it and points you here. Rewrite your configs in place:

$ vcspull migrate --write

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

depth: N is new — record a numeric clone depth (git clone --depth N) when a boolean shallow (depth 1) is too little. See Configuration and vcspull migrate.

vcspull 1.15.4 (2022-10-16)

Completions for -c / --config files

via #403

After updating, you can re-run shtab’s setup (see completions page) completion of:

$ vcspull sync -c [tab]
$ vcspull sync --config [tab]

vcspull 1.15.0 (2022-10-09)

Completions have changed

via #400

Completions now use a different tool: shtab. See the completions page for more information.

If you were using earlier versions of vcspull (earlier than 1.15.0), you may need to uninstall the old completions, first.

vcspull v1.13.0 (2022-09-25)

Pulling all repositories

via #394

Empty command will now show help output

$ vcspull sync
Usage: vcspull sync [OPTIONS] [REPO_TERMS]...

Options:
-c, --config PATH Specify config
-x, --exit-on-error Exit immediately when encountering an error syncing
multiple repos
-h, --help Show this message and exit.

To achieve the equivalent behavior of syncing all repos, pass '*':

$ vcspull sync '*'

Depending on how shell escaping works in your shell setup with wild card / asterisk, you may not need to quote *.

Terms with no match in config will show a notice

via #394

No repo found in config(s) for “non_existent_repo”

  • Syncing will now skip to the next repos if an error is encountered

  • Learned --exit-on-error / -x

Usage:

$ vcspull sync --exit-on-error grako django

Print traceback for errored repos:

$ vcspull --log-level DEBUG sync --exit-on-error grako django

Untracked files

_via https://github.com/vcs-python/libvcs/pull/425_

Syncing in git repositories with untracked files has been improved (via libvcs 0.17)