Apply manifests in root→leaf order, reconciling scaffold views first. Returns one outcome per manifest, in apply order.
(
&self,
repo: &mut Repository,
manifests: &[ViewManifest],
)
| 674 | /// |
| 675 | /// Returns one outcome per manifest, in apply order. |
| 676 | fn apply_manifests( |
| 677 | &self, |
| 678 | repo: &mut Repository, |
| 679 | manifests: &[ViewManifest], |
| 680 | ) -> CliResult<Vec<ManifestApplyOutcome>> { |
| 681 | let mut outcomes = Vec::with_capacity(manifests.len()); |
| 682 | for manifest in manifests { |
| 683 | self.reconcile_scaffold_view(repo, manifest)?; |
| 684 | let outcome = repo.apply_view_manifest(manifest).map_err(|e| { |
| 685 | CliError::Internal(anyhow::anyhow!( |
| 686 | "apply manifest for view '{}': {}", |
| 687 | manifest.name, |
| 688 | e |
| 689 | )) |
| 690 | })?; |
| 691 | outcomes.push(outcome); |
| 692 | } |
| 693 | Ok(outcomes) |
| 694 | } |
| 695 | |
| 696 | /// Clone every remote view not already applied by the primary chain. |
| 697 | /// |
no test coverage detected