pub struct ResolvedVersion {
pub sha: String,
pub resolved_ref: String,
}
Expand description
Centralized version resolver for efficient SHA resolution
The VersionResolver
is responsible for resolving all dependency versions
to their corresponding Git commit SHAs before any worktree operations.
This ensures maximum efficiency and deduplication.
§Example
let cache = Cache::new()?;
let mut resolver = VersionResolver::new(cache);
// Add versions to resolve
resolver.add_version("community", "https://github.com/example/repo.git", Some("v1.0.0"));
resolver.add_version("community", "https://github.com/example/repo.git", Some("main"));
// Batch resolve all versions to SHAs
resolver.resolve_all().await?;
// Get resolved SHA for a specific version
let sha = resolver.get_resolved_sha("community", "v1.0.0");
Resolved version information
Fields§
§sha: String
The resolved SHA-1 hash
resolved_ref: String
The resolved version (e.g., “latest” -> “v2.0.0”) If no constraint resolution happened, this will be the same as input
Trait Implementations§
Source§impl Clone for ResolvedVersion
impl Clone for ResolvedVersion
Source§fn clone(&self) -> ResolvedVersion
fn clone(&self) -> ResolvedVersion
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for ResolvedVersion
impl RefUnwindSafe for ResolvedVersion
impl Send for ResolvedVersion
impl Sync for ResolvedVersion
impl Unpin for ResolvedVersion
impl UnwindSafe for ResolvedVersion
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more