feat: add --update-bundle with provenance-aware conflict handling

Updates re-clone a bundle's recorded source (honoring a recorded commit
pin unless a #<ref> override moves it), silently refresh files the bundle
owns that the user never modified, and fall back to the normal conflict
prompts for modified or unowned files. Files the remote no longer ships
are offered for deletion (kept by default non-interactively, staying
owned). The record is refreshed with the new commit, version, and
metadata, and stamped with an updated_at timestamp on success.
This commit is contained in:
Dark-Alex-17 committed 2026-08-24 11:15:12 -06:00
1 parent 2790a823b0
commit 0a806da8d2
5 files changed
+762 -12

No files matched your search

+4
View File
@@ -138,6 +138,10 @@ async fn main() -> Result<()> {
return config::install_remote(url, cli.filter, cli.install_force);
}
if let Some(spec) = cli.update_bundle.as_deref() {
return config::update_bundle(spec);
}
if let Some(client_arg) = &cli.authenticate {
let cfg = Config::load_with_interpolation(true).await?;
let app_config = AppConfig::from_config(cfg)?;