#[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
impl Clone for svn_wc_conflict_description2_t
Source§fn clone(&self) -> svn_wc_conflict_description2_t
fn clone(&self) -> svn_wc_conflict_description2_t
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more