pub struct CopyRecord {
pub target: RepoPathBuf,
pub target_commit: CommitId,
pub source: RepoPathBuf,
pub source_file: FileId,
pub source_commit: CommitId,
}Expand description
An individual copy event, from file A -> B.
Fields§
§target: RepoPathBufThe destination of the copy, B.
target_commit: CommitIdThe CommitId where the copy took place.
source: RepoPathBufThe source path a target was copied from.
It is not required that the source path is different than the target path. A custom backend may choose to represent ‘rollbacks’ as copies from a file unto itself, from a specific prior commit.
source_file: FileId§source_commit: CommitIdThe source commit the target was copied from. Backends may use this field to implement ‘integration’ logic, where a source may be periodically merged into a target, similar to a branch, but the branching occurs at the file level rather than the repository level. It also follows naturally that any copy source targeted to a specific commit should avoid copy propagation on rebasing, which is desirable for ‘fork’ style copies.
It is required that the commit id is an ancestor of the commit with which this copy source is associated.
Trait Implementations§
Source§impl Clone for CopyRecord
impl Clone for CopyRecord
Source§fn clone(&self) -> CopyRecord
fn clone(&self) -> CopyRecord
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CopyRecord
impl Debug for CopyRecord
Source§impl PartialEq for CopyRecord
impl PartialEq for CopyRecord
impl Eq for CopyRecord
impl StructuralPartialEq for CopyRecord
Auto Trait Implementations§
impl Freeze for CopyRecord
impl RefUnwindSafe for CopyRecord
impl Send for CopyRecord
impl Sync for CopyRecord
impl Unpin for CopyRecord
impl UnwindSafe for CopyRecord
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