divekit patch ci
Apply authored CI and evaluation-pipeline files
Apply file updates and explicit file operations to all repositories in a distribution.
Pushes specified files from the origin repository to all target repositories in a distribution. Files are individualized using the same variation tokens as during distribution. Explicit delete, recursive delete, and move operations act on repository-relative paths in the distributed repositories and do not require the affected path to exist in the origin repository.
WHAT HAPPENS:
divekit patch [file1] [file2...] [flags]
# Select files interactively
divekit patch
# Apply a single file patch
divekit patch -d ST2M4 README.md
# Apply multiple files
divekit patch -d ST2M4 README.md docs/changelog.txt src/Config.java
# Patch with custom commit message
divekit patch -d ST2M4 README.md -m "Fix typo in assignment description"
# Force patch files to be written even when the reference repository matches
divekit patch -d ST2M4 README.md --force
# Delete a file from all distributed repositories
divekit patch -d ST2M4 --delete obsolete-file.txt
# Delete several files from all distributed repositories
divekit patch -d ST2M4 --delete obsolete-a.txt,obsolete-b.txt
# Delete files matched locally or remotely by a glob
divekit patch -d ST2M4 --delete '*surefire.yml'
# Delete a directory recursively from all distributed repositories
divekit patch -d ST2M4 --delete-dir old-material
# Move a file in all distributed repositories
divekit patch -d ST2M4 --move old/path.txt:new/path.txt
# Preview what would be patched (dry-run)
divekit patch -d ST2M4 README.md --dry-run
# Apply the patch to the local filesystem provider
divekit patch -d ST2M4 README.md --provider local
# Disable unique GitLab Pages domains for eval repositories
divekit patch -d ST2M4 --disable-eval-pages-unique-domain
# Control concurrency for large distributions
divekit patch -d ST2M4 README.md --workers 10 --rate-limit 5
--delete stringArray Delete a repository-relative file path from distributed repositories (repeatable)
--delete-dir stringArray Delete all files below a repository-relative directory path from distributed repositories (repeatable)
--disable-eval-pages-unique-domain Disable unique GitLab Pages domains for eval repositories
-d, --distribution string Distribution name
-n, --dry-run string[="true"] Preview changes without applying (alias for --provider simulated)
--force Force writing patch files even when remote content already matches
-m, --message string Commit message for the patch
--move stringArray Move a repository-relative file path using old/path:new/path (repeatable)
-p, --provider string Provider to use: gitlab (default), local (filesystem), simulated (dry-run)
--rate-limit float Maximum tasks per second (0 = unlimited)
-r, --remote string Remote repository URL (e.g. GitLab instance)
--task-timeout duration Maximum time per task (0 = use preset)
-t, --token string GitLab token or token file path (file:///...)
--warn-unresolved-tokens string Warn about unresolved tokens: auto|true|false (default "auto")
-w, --workers int Number of concurrent workers (0 = use preset)
-l, --loglevel string log level (debug, info, warn, error, fatal) (default "info")
--no-index skip project index update
--non-interactive run in non-interactive mode (fails if interactive input is required)
-y, --yes assume yes/default for all prompts (non-interactive with automatic defaults)
Apply authored CI and evaluation-pipeline files
Apply authored manual feedback to evaluation repositories
Apply file patches to projects within a distribution
Reconcile distributed repository names and paths