mirror of
https://github.com/robbyrussell/oh-my-zsh.git
synced 2026-09-25 04:26:08 +02:00
feat(updater): add cooldown option to delay applying updates (#13814)
* feat(updater): add cooldown option to delay applying updates (#13813) Introduces a new `zstyle ':omz:update' cooldown <days>` setting that limits the updater to only apply commits that are at least N days old. Defaults to 0 (current behavior — always pull latest). When cooldown is set, the updater fetches the remote branch and finds the most recent commit whose committer timestamp is at least N days old, then applies it via `git merge --ff-only`. If the local copy is already at or past the cooldown ref, nothing changes. - tools/upgrade.sh: reads cooldown zstyle, replaces git pull with fetch + merge --ff-only when cooldown > 0 - README.md: documents the new setting under "Getting Updates" - templates/zshrc.zsh-template: adds commented-out cooldown example alongside frequency, with rephrased comments to clarify how the two work together * fix(updater): address cooldown review feedback Pass cooldown into upgrade.sh as -c, extract the update helpers, and only prompt when a cooldown-eligible commit would actually move HEAD. * fix(updater): follow first-parent history for cooldown
This commit is contained in:
@@ -474,6 +474,22 @@ zstyle ':omz:update' frequency 7
|
||||
zstyle ':omz:update' frequency 0
|
||||
```
|
||||
|
||||
By default, updates always pull the latest changes. If you'd rather let others kick the tires first
|
||||
before an update reaches your machine, you can set a cooldown (in days). You'll still get everything —
|
||||
just a little later:
|
||||
|
||||
```sh
|
||||
# Only apply updates that are at least 10 days old
|
||||
zstyle ':omz:update' cooldown 10
|
||||
```
|
||||
|
||||
`omz update` honors this setting. If you call `upgrade.sh` directly, pass the same
|
||||
value with `-c`, because that script does not read your `.zshrc`:
|
||||
|
||||
```sh
|
||||
$ZSH/tools/upgrade.sh -c 10
|
||||
```
|
||||
|
||||
### Updates Verbosity
|
||||
|
||||
You can also limit the update verbosity with the following settings:
|
||||
|
||||
Reference in New Issue
Block a user