svn_wc_conflict_description2_t

Struct svn_wc_conflict_description2_t 

Source
#[repr(C)]
pub struct svn_wc_conflict_description2_t {
Show 20 fields pub local_abspath: *const c_char, pub node_kind: svn_node_kind_t, pub kind: svn_wc_conflict_kind_t, pub property_name: *const c_char, pub is_binary: svn_boolean_t, pub mime_type: *const c_char, pub action: svn_wc_conflict_action_t, pub reason: svn_wc_conflict_reason_t, pub base_abspath: *const c_char, pub their_abspath: *const c_char, pub my_abspath: *const c_char, pub merged_file: *const c_char, pub operation: svn_wc_operation_t, pub src_left_version: *const svn_wc_conflict_version_t, pub src_right_version: *const svn_wc_conflict_version_t, pub prop_reject_abspath: *const c_char, pub prop_value_base: *const svn_string_t, pub prop_value_working: *const svn_string_t, pub prop_value_incoming_old: *const svn_string_t, pub prop_value_incoming_new: *const svn_string_t,
}
Expand description

A struct that describes a conflict that has occurred in the working copy.

The conflict described by this structure is one of:

  • a conflict on the content of the file node @a local_abspath
  • a conflict on the property @a property_name of @a local_abspath
  • a tree conflict, of which @a local_abspath is the victim Be aware that the victim of a tree conflict can be a non-existent node. The three kinds of conflict are distinguished by @a kind.

@note Fields may be added to the end of this structure in future versions. Therefore, to preserve binary compatibility, users should not directly allocate structures of this type but should use svn_wc_conflict_description_create_text2() or svn_wc_conflict_description_create_prop2() or svn_wc_conflict_description_create_tree2() instead.

@since New in 1.7.

Fields§

§local_abspath: *const c_char

The path that is in conflict (for a tree conflict, it is the victim)

§node_kind: svn_node_kind_t

The node type of the local node involved in this conflict. For a tree conflict, this is the node kind of the tree conflict victim. For the left/right node kinds of the incoming conflicting change see src_left_version->node_kind and src_right_version->node_kind.

§kind: svn_wc_conflict_kind_t

What sort of conflict are we describing?

§property_name: *const c_char

The name of the property whose conflict is being described. (Only if @a kind is ‘property’; else undefined.)

§is_binary: svn_boolean_t

Whether svn thinks (‘my’ version of) @c path is a ‘binary’ file. (Only if @c kind is ‘text’, else undefined.)

§mime_type: *const c_char

The svn:mime-type property of (‘my’ version of) @c path, if available, else NULL. (Only if @c kind is ‘text’, else undefined.)

§action: svn_wc_conflict_action_t

The incoming action being attempted on the conflicted node or property. When @c kind is ‘text’, this action must be ‘edit’, but generally it can be any kind of possible change.

§reason: svn_wc_conflict_reason_t

The local change or state of the target node or property, relative to its merge-left source, that conflicts with the incoming action. When @c kind is ‘text’, this must be ‘edited’, but generally it can be any kind of possible change. Note that ‘local’ does not always refer to a working copy. A change can be local to the target branch of a merge operation, for example, and is not necessarily visible in a working copy of the target branch at any given revision.

§base_abspath: *const c_char

If this is text-conflict and involves the merging of two files descended from a common ancestor, here are the paths of up to four fulltext files that can be used to interactively resolve the conflict.

@a base_abspath, @a their_abspath and @a my_abspath are absolute paths.

§Is @a merged_file relative to some directory, or absolute?

All four files will be in repository-normal form – LF line endings and contracted keywords. (If any of these files are not available, they default to NULL.)

On the other hand, if this is a property-conflict, then these paths represent temporary files that contain the three different property-values in conflict. The fourth path (@c merged_file) may or may not be NULL; if set, it represents libsvn_wc’s attempt to merge the property values together. (Remember that property values are technically binary values, and thus can’t always be merged.)

§their_abspath: *const c_char§my_abspath: *const c_char

my locally-edited version of the file

§merged_file: *const c_char

merged version; may contain conflict markers

§For property conflicts, this contains ‘their_abspath’.
§operation: svn_wc_operation_t

The operation that exposed the conflict. Used only for tree conflicts.

§src_left_version: *const svn_wc_conflict_version_t

Info on the “merge-left source” or “older” version of incoming change.

§src_right_version: *const svn_wc_conflict_version_t

Info on the “merge-right source” or “their” version of incoming change.

§prop_reject_abspath: *const c_char

For property conflicts, the absolute path to the .prej file. @since New in 1.9.

§prop_value_base: *const svn_string_t

For property conflicts, the local base value of the property, i.e. the value of the property as of the BASE revision of the working copy. For conflicts created during update/switch this contains the post-update/switch property value. The pre-update/switch value can be found in prop_value_incoming_old. Only set if available, so might be @c NULL. @since New in 1.9.

§prop_value_working: *const svn_string_t

For property conflicts, the local working value of the property, i.e. the value of the property in the working copy, possibly with local modiciations. Only set if available, so might be @c NULL. @since New in 1.9.

§prop_value_incoming_old: *const svn_string_t

For property conflicts, the incoming old value of the property, i.e. the value the property had at @c src_left_version. Only set if available, so might be @c NULL. @since New in 1.9

§prop_value_incoming_new: *const svn_string_t

For property conflicts, the incoming new value of the property, i.e. the value the property had at @c src_right_version. Only set if available, so might be @c NULL. @since New in 1.9

Trait Implementations§

Source§

impl Clone for svn_wc_conflict_description2_t

Source§

fn clone(&self) -> svn_wc_conflict_description2_t

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for svn_wc_conflict_description2_t

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for svn_wc_conflict_description2_t

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Copy for svn_wc_conflict_description2_t

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.