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

Method resolve_remote_url

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

Resolve the remote and optional identity override.

(&self, repo: &Repository)

Source from the content-addressed store, hash-verified

226
227 /// Resolve the remote and optional identity override.
228 fn resolve_remote_url(&self, repo: &Repository) -> CliResult<(String, String, Option<String>)> {
229 let remote_name = self.resolve_remote_name(repo);
230
231 // If it looks like a URL, use it directly
232 if remote_name.contains("://") {
233 return Ok((remote_name.clone(), remote_name, self.identity.clone()));
234 }
235
236 // Look up named remote in repository configuration
237 match repo.get_remote(&remote_name) {
238 Ok(entry) => Ok((remote_name, entry.url, self.identity.clone())),
239 Err(atomic_repository::RepositoryError::RemoteNotFound { .. }) => {
240 Err(CliError::RemoteNotFound { name: remote_name })
241 }
242 Err(e) => Err(CliError::Repository(e)),
243 }
244 }
245
246 /// Get the local view name to push from.
247 ///

Callers 1

run_asyncMethod · 0.45

Calls 5

RepositoryClass · 0.85
resolve_remote_nameMethod · 0.45
containsMethod · 0.45
cloneMethod · 0.45
get_remoteMethod · 0.45

Tested by

no test coverage detected