MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / display_dry_run

Method display_dry_run

atomic-cli/src/commands/push/command.rs:394–442  ·  view source on GitHub ↗

Display the dry run preview: per-view manifest sync plans.

(
        &self,
        repo: &Repository,
        remote_name: &str,
        remote_url: &str,
        syncs: &[ViewSync],
    )

Source from the content-addressed store, hash-verified

392
393 /// Display the dry run preview: per-view manifest sync plans.
394 fn display_dry_run(
395 &self,
396 repo: &Repository,
397 remote_name: &str,
398 remote_url: &str,
399 syncs: &[ViewSync],
400 ) -> CliResult<()> {
401 let active: Vec<&ViewSync> = syncs.iter().filter(|s| !s.plan.is_noop()).collect();
402
403 if active.is_empty() {
404 print_success("Already up to date - nothing to push");
405 return Ok(());
406 }
407
408 println!(
409 "Would sync {} to {}:",
410 format_count(active.len(), "view"),
411 remote_name
412 );
413 print_blank();
414
415 for sync in &active {
416 let scope = sync.manifest.scope.to_string();
417 let parent = sync
418 .manifest
419 .parent
420 .as_deref()
421 .map(|p| format!(", parent {}", p))
422 .unwrap_or_default();
423 println!(
424 " {} [{}{}]: {} to store, declare manifest ({} in log)",
425 style_view(&sync.remote_name),
426 scope,
427 parent,
428 format_count(sync.to_store.len(), "change"),
429 format_count(sync.manifest.changes.len(), "change"),
430 );
431 for hash in &sync.to_store {
432 let msg =
433 load_change_message(repo, hash).unwrap_or_else(|| "(no message)".to_string());
434 println!(" {} {}", style_hash(&format_hash(hash, false)), msg);
435 }
436 }
437
438 print_blank();
439 print_hint(&format!("Remote URL: {}", remote_url));
440
441 Ok(())
442 }
443
444 /// Report a divergence conflict and build the error to return.
445 fn divergence_error(

Callers 1

run_asyncMethod · 0.45

Calls 7

print_successFunction · 0.85
print_blankFunction · 0.85
load_change_messageFunction · 0.85
print_hintFunction · 0.85
iterMethod · 0.45
is_noopMethod · 0.45
is_emptyMethod · 0.45

Tested by

no test coverage detected