# svn_wc_conflict_description2_t Struct Reference
[Conflict callback functionality]

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

`#include <svn_wc.h>`

## Data Fields
const char * | local_abspath
| The path that is in conflict (for a tree conflict, it is the victim).
svn_node_kind_t | node_kind
| The node type of the path being operated on (for a tree conflict, ### which version?).
svn_wc_conflict_kind_t | kind
| What sort of conflict are we describing?
const char * | property_name
| The name of the property whose conflict is being described.
svn_boolean_t | is_binary
| Whether svn thinks ('my' version of) `path` is a 'binary' file.
const char * | mime_type
| The svn:mime-type property of ('my' version of) `path`, if available, else NULL.
svn_wc_conflict_action_t | action
| The action being attempted on the conflicted node or property.
svn_wc_conflict_reason_t | reason
| The state of the target node or property, relative to its merge-left source, that is the reason for the conflict.
const char * | base_abspath
| 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.
const char * | their_abspath
| their version of the file
const char * | my_abspath
| my locally-edited version of the file
const char * | merged_file
| merged version; may contain conflict markers
svn_wc_operation_t | operation
| The operation that exposed the conflict.
const svn_wc_conflict_version_t * | src_left_version
| Info on the "merge-left source" or "older" version of incoming change.
const svn_wc_conflict_version_t * | src_right_version
| Info on the "merge-right source" or "their" version of incoming change.

## Detailed 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 local_abspath
- a conflict on the property property_name of local_abspath
- a tree conflict, of which 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 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_create_conflict_description_text2() or svn_wc_create_conflict_description_prop2() or svn_wc_create_conflict_description_tree2() instead.

Since:
  New in 1.7.

Definition at line 1678 of file svn_wc.h.

## Field Documentation

svn_wc_conflict_action_t svn_wc_conflict_description2_t::action

The action being attempted on the conflicted node or property.

(When `kind` is 'text', this action must be 'edit'.)

Definition at line 1705 of file svn_wc.h.

const char* svn_wc_conflict_description2_t::base_abspath

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.

base_abspath, their_abspath and my_abspath are absolute paths.

### Is 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 (`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.)

Definition at line 1734 of file svn_wc.h.

svn_boolean_t svn_wc_conflict_description2_t::is_binary

Whether svn thinks ('my' version of) `path` is a 'binary' file.

(Only if `kind` is 'text', else undefined.)

Definition at line 1696 of file svn_wc.h.

const char* svn_wc_conflict_description2_t::mime_type

The svn:mime-type property of ('my' version of) `path`, if available, else NULL.

(Only if `kind` is 'text', else undefined.)

Definition at line 1701 of file svn_wc.h.

svn_wc_operation_t svn_wc_conflict_description2_t::operation

The operation that exposed the conflict.

Used only for tree conflicts.

Definition at line 1750 of file svn_wc.h.

const char* svn_wc_conflict_description2_t::property_name

The name of the property whose conflict is being described.

(Only if kind is 'property'; else undefined.)

Definition at line 1692 of file svn_wc.h.

svn_wc_conflict_reason_t svn_wc_conflict_description2_t::reason

The state of the target node or property, relative to its merge-left source, that is the reason for the conflict.

(When `kind` is 'text', this reason must be 'edited'.)

Definition at line 1710 of file svn_wc.h.

const svn_wc_conflict_version_t* svn_wc_conflict_description2_t::src_left_version

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

Definition at line 1753 of file svn_wc.h.

const svn_wc_conflict_version_t* svn_wc_conflict_description2_t::src_right_version

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

Definition at line 1756 of file svn_wc.h.

The documentation for this struct was generated from the following file:

- svn_wc.h

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines