pub struct View { /* private fields */ }
Expand description
A wrapper around op_store::View
that defines additional methods.
Implementations§
Source§impl View
impl View
pub fn new(op_store_view: View) -> Self
pub fn wc_commit_ids(&self) -> &BTreeMap<WorkspaceNameBuf, CommitId>
pub fn get_wc_commit_id(&self, name: &WorkspaceName) -> Option<&CommitId>
pub fn workspaces_for_wc_commit_id( &self, commit_id: &CommitId, ) -> Vec<WorkspaceNameBuf>
pub fn is_wc_commit_id(&self, commit_id: &CommitId) -> bool
pub fn heads(&self) -> &HashSet<CommitId>
Sourcepub fn bookmarks(&self) -> impl Iterator<Item = (&RefName, BookmarkTarget<'_>)>
pub fn bookmarks(&self) -> impl Iterator<Item = (&RefName, BookmarkTarget<'_>)>
Iterates pair of local and remote bookmarks by bookmark name.
pub fn git_refs(&self) -> &BTreeMap<GitRefNameBuf, RefTarget>
pub fn git_head(&self) -> &RefTarget
pub fn set_wc_commit(&mut self, name: WorkspaceNameBuf, commit_id: CommitId)
pub fn remove_wc_commit(&mut self, name: &WorkspaceName)
pub fn rename_workspace( &mut self, old_name: &WorkspaceName, new_name: WorkspaceNameBuf, ) -> Result<(), RenameWorkspaceError>
pub fn add_head(&mut self, head_id: &CommitId)
pub fn remove_head(&mut self, head_id: &CommitId)
Sourcepub fn local_bookmarks(&self) -> impl Iterator<Item = (&RefName, &RefTarget)>
pub fn local_bookmarks(&self) -> impl Iterator<Item = (&RefName, &RefTarget)>
Iterates local bookmark (name, target)
s in lexicographical order.
Sourcepub fn local_bookmarks_for_commit<'a, 'b>(
&'a self,
commit_id: &'b CommitId,
) -> impl Iterator<Item = (&'a RefName, &'a RefTarget)> + use<'a, 'b>
pub fn local_bookmarks_for_commit<'a, 'b>( &'a self, commit_id: &'b CommitId, ) -> impl Iterator<Item = (&'a RefName, &'a RefTarget)> + use<'a, 'b>
Iterates local bookmarks (name, target)
in lexicographical order where
the target adds commit_id
.
Sourcepub fn local_bookmarks_matching<'a, 'b>(
&'a self,
pattern: &'b StringPattern,
) -> impl Iterator<Item = (&'a RefName, &'a RefTarget)> + use<'a, 'b>
pub fn local_bookmarks_matching<'a, 'b>( &'a self, pattern: &'b StringPattern, ) -> impl Iterator<Item = (&'a RefName, &'a RefTarget)> + use<'a, 'b>
Iterates local bookmark (name, target)
s matching the given pattern.
Entries are sorted by name
.
pub fn get_local_bookmark(&self, name: &RefName) -> &RefTarget
Sourcepub fn set_local_bookmark_target(&mut self, name: &RefName, target: RefTarget)
pub fn set_local_bookmark_target(&mut self, name: &RefName, target: RefTarget)
Sets local bookmark to point to the given target. If the target is absent, and if no associated remote bookmarks exist, the bookmark will be removed.
Sourcepub fn all_remote_bookmarks(
&self,
) -> impl Iterator<Item = (RemoteRefSymbol<'_>, &RemoteRef)>
pub fn all_remote_bookmarks( &self, ) -> impl Iterator<Item = (RemoteRefSymbol<'_>, &RemoteRef)>
Iterates over (symbol, remote_ref)
for all remote bookmarks in
lexicographical order.
Sourcepub fn remote_bookmarks(
&self,
remote_name: &RemoteName,
) -> impl Iterator<Item = (&RefName, &RemoteRef)> + use<'_>
pub fn remote_bookmarks( &self, remote_name: &RemoteName, ) -> impl Iterator<Item = (&RefName, &RemoteRef)> + use<'_>
Iterates over (name, remote_ref)
s for all remote bookmarks of the
specified remote in lexicographical order.
Sourcepub fn remote_bookmarks_matching<'a, 'b>(
&'a self,
bookmark_pattern: &'b StringPattern,
remote_pattern: &'b StringPattern,
) -> impl Iterator<Item = (RemoteRefSymbol<'a>, &'a RemoteRef)> + use<'a, 'b>
pub fn remote_bookmarks_matching<'a, 'b>( &'a self, bookmark_pattern: &'b StringPattern, remote_pattern: &'b StringPattern, ) -> impl Iterator<Item = (RemoteRefSymbol<'a>, &'a RemoteRef)> + use<'a, 'b>
Iterates over (symbol, remote_ref)
s for all remote bookmarks of the
specified remote that match the given pattern.
Entries are sorted by symbol
, which is (name, remote)
.
pub fn get_remote_bookmark(&self, symbol: RemoteRefSymbol<'_>) -> &RemoteRef
Sourcepub fn set_remote_bookmark(
&mut self,
symbol: RemoteRefSymbol<'_>,
remote_ref: RemoteRef,
)
pub fn set_remote_bookmark( &mut self, symbol: RemoteRefSymbol<'_>, remote_ref: RemoteRef, )
Sets remote-tracking bookmark to the given target and state. If the target is absent, the bookmark will be removed.
Sourcepub fn local_remote_bookmarks(
&self,
remote_name: &RemoteName,
) -> impl Iterator<Item = (&RefName, LocalAndRemoteRef<'_>)> + use<'_>
pub fn local_remote_bookmarks( &self, remote_name: &RemoteName, ) -> impl Iterator<Item = (&RefName, LocalAndRemoteRef<'_>)> + use<'_>
Iterates over (name, {local_ref, remote_ref})
s for every bookmark
present locally and/or on the specified remote, in lexicographical
order.
Note that this does not take into account whether the local bookmark tracks the remote bookmark or not. Missing values are represented as RefTarget::absent_ref() or RemoteRef::absent_ref().
Sourcepub fn local_remote_bookmarks_matching<'a, 'b>(
&'a self,
bookmark_pattern: &'b StringPattern,
remote_name: &RemoteName,
) -> impl Iterator<Item = (&'a RefName, LocalAndRemoteRef<'a>)> + use<'a, 'b>
pub fn local_remote_bookmarks_matching<'a, 'b>( &'a self, bookmark_pattern: &'b StringPattern, remote_name: &RemoteName, ) -> impl Iterator<Item = (&'a RefName, LocalAndRemoteRef<'a>)> + use<'a, 'b>
Iterates over (name, TrackingRefPair {local_ref, remote_ref})
s for
every bookmark with a name that matches the given pattern, and that is
present locally and/or on the specified remote.
Entries are sorted by name
.
Note that this does not take into account whether the local bookmark tracks the remote bookmark or not. Missing values are represented as RefTarget::absent_ref() or RemoteRef::absent_ref().
pub fn remove_remote(&mut self, remote_name: &RemoteName)
pub fn rename_remote(&mut self, old: &RemoteName, new: &RemoteName)
pub fn get_tag(&self, name: &RefName) -> &RefTarget
Iterates tags (name, target)
s matching the given pattern. Entries
are sorted by name
.
Sourcepub fn set_tag_target(&mut self, name: &RefName, target: RefTarget)
pub fn set_tag_target(&mut self, name: &RefName, target: RefTarget)
Sets tag to point to the given target. If the target is absent, the tag will be removed.
pub fn get_git_ref(&self, name: &GitRefName) -> &RefTarget
Sourcepub fn set_git_ref_target(&mut self, name: &GitRefName, target: RefTarget)
pub fn set_git_ref_target(&mut self, name: &GitRefName, target: RefTarget)
Sets the last imported Git ref to point to the given target. If the target is absent, the reference will be removed.
Sourcepub fn set_git_head_target(&mut self, target: RefTarget)
pub fn set_git_head_target(&mut self, target: RefTarget)
Sets Git HEAD to point to the given target. If the target is absent, the reference will be cleared.
Sourcepub fn all_referenced_commit_ids(&self) -> impl Iterator<Item = &CommitId>
pub fn all_referenced_commit_ids(&self) -> impl Iterator<Item = &CommitId>
Iterates all commit ids referenced by this view.
This can include hidden commits referenced by remote bookmarks, previous positions of conflicted bookmarks, etc. The ancestors and predecessors of the returned commits should be considered reachable from the view. Use this to build commit index from scratch.
The iteration order is unspecified, and may include duplicated entries.
pub fn set_view(&mut self, data: View)
pub fn store_view(&self) -> &View
pub fn store_view_mut(&mut self) -> &mut View
Trait Implementations§
impl Eq for View
impl StructuralPartialEq for View
Auto Trait Implementations§
impl Freeze for View
impl RefUnwindSafe for View
impl Send for View
impl Sync for View
impl Unpin for View
impl UnwindSafe for View
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§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.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more