Enum git_ref::transaction::Change [−][src]
pub enum Change {
Update {
log: LogChange,
mode: Create,
new: Target,
},
Delete {
previous: Option<Target>,
log: RefLog,
},
}
Expand description
A description of an edit to perform.
Variants
If previous is not None
, the ref must exist and its oid
must agree with the previous
, and
we function like update
.
Otherwise it functions as create-or-update
.
Fields of Update
log: LogChange
The desired change to the reference log.
mode: Create
The create mode. If a ref was existing previously it will be updated to reflect the previous value for bookkeeping purposes and for use in the reflog.
new: Target
The new state of the reference, either for updating an existing one or creating a new one.
Delete a reference and optionally check if previous
is its content.
Fields of Delete
previous: Option<Target>
The previous state of the reference. If set, the reference is expected to exist and match the given value.
If the value is a peeled null-id the reference is expected to exist but the value doesn’t matter, neither peeled nor symbolic.
If None
, the actual value does not matter.
If a previous ref existed, this value will be filled in automatically and can be accessed if the transaction was committed successfully.
log: RefLog
How to thread the reference log during deletion.
Implementations
Return references to values that are in common between all variants.
Trait Implementations
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Auto Trait Implementations
impl RefUnwindSafe for Change
impl UnwindSafe for Change
Blanket Implementations
Mutably borrows from an owned value. Read more