multi-call CLI (experimental)#
Warning
This tool originates from zope.meta and has not been extensively tested in the plone.meta context. The default branch is master instead of main. Use with caution.
Synopsis#
multi-call SCRIPT PACKAGES_FILE CLONES_DIR [SCRIPT_ARGS...]
Positional arguments#
SCRIPTPath to the Python script to run on each package (typically
config-package).PACKAGES_FILEPath to a text file listing repository names, one per line. Lines starting with
#are skipped.CLONES_DIRDirectory where repositories are cloned. If a repository does not exist here, it is cloned from GitHub. If it already exists, it is cleaned, switched to
master, and pulled.SCRIPT_ARGSAdditional arguments passed to
SCRIPTfor each package.
Behavior#
For each package listed in PACKAGES_FILE:
If no clone exists in
CLONES_DIR, the repository is cloned.If a clone exists, uncommitted changes are stashed, the
masterbranch is checked out, and the latest changes are pulled.The specified script is run with the package path and any extra arguments.
Caution
Uncommitted changes are stashed automatically.
Use git stash pop to recover them.