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: RepoPathBuf
The destination of the copy, B.
target_commit: CommitId
The CommitId where the copy took place.
source: RepoPathBuf
The 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: CommitId
The 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