pub struct MemberPin {
pub member: String,
pub hub: String,
pub rev: Option<String>,
pub via: Option<String>,
}Expand description
One member’s version pin: the revision of a hub it deploys (ADR-0009 step 8).
§Why it names its hub
A pin is hub-relative, and since #623 a workspace is a snowflake rather
than a star: a project can be a spoke of one project and the hub of others, so
“the hub version this member pins” has no single referent. infra pins
chart, and chart pins app. Naming the hub is what lets a reader follow
the chain instead of guessing which end of it a bare revision belongs to.
Fields§
§member: StringThe member doing the pinning — the spoke.
hub: StringThe workspace member whose version is pinned — this member’s parent in the dependency graph, not necessarily the workspace’s busiest node.
rev: Option<String>The hub git revision pinned: a submodule sha, or an image tag resolved to a
hub ref. None when the member depends on hub but declares no version
this tool can resolve.
None is a finding, not an absence of one — see the module’s rendering
of it, and issue #505, which established that “asked and found nothing” must
not render identically to “never asked”.
via: Option<String>Where the pin was read from (submodule vendor/app, image acme/app:1.4.0).
None exactly when rev is.
Trait Implementations§
impl Eq for MemberPin
impl StructuralPartialEq for MemberPin
Auto Trait Implementations§
impl Freeze for MemberPin
impl RefUnwindSafe for MemberPin
impl Send for MemberPin
impl Sync for MemberPin
impl Unpin for MemberPin
impl UnsafeUnpin for MemberPin
impl UnwindSafe for MemberPin
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.