Convert a manifest-fetch failure into a CLI error. A protocol error means the server predates `?view-manifest` support. That is fatal: without manifests a clone cannot preserve view identity (scope and parent), so there is no fallback to the old flat changelist path.
(&self, err: RemoteError)
| 328 | /// identity (scope and parent), so there is no fallback to the old flat |
| 329 | /// changelist path. |
| 330 | fn manifest_fetch_error(&self, err: RemoteError) -> CliError { |
| 331 | if matches!(err, RemoteError::ProtocolError { .. }) { |
| 332 | CliError::RemoteError { |
| 333 | message: "This server is too old for identity-preserving clone: it does not \ |
| 334 | support view manifests (?view-manifest). Upgrade the server." |
| 335 | .to_string(), |
| 336 | url: Some(self.url.clone()), |
| 337 | } |
| 338 | } else { |
| 339 | convert_remote_error(err, &self.url) |
| 340 | } |
| 341 | } |
| 342 | |
| 343 | /// Fetch and validate one view's manifest from the remote. |
| 344 | /// |