svn_wc_conflict_description2_t Struct Reference
Working copy management » 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 local node involved in this conflict. More...
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. More...
svn_boolean_t | is_binary
| Whether svn thinks ('my' version of) `path` is a 'binary' file. More...
const char * | mime_type
| The svn:mime-type property of ('my' version of) `path`, if available, else NULL. More...
svn_wc_conflict_action_t | action
| The incoming action being attempted on the conflicted node or property. More...
svn_wc_conflict_reason_t | reason
| The local change or state of the target node or property, relative to its merge-left source, that conflicts with the incoming action. More...
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. More...
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 More...
svn_wc_operation_t | operation
| The operation that exposed the conflict. More...
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.
const char * | prop_reject_abspath
| For property conflicts, the absolute path to the .prej file. More...
const svn_string_t * | prop_value_base
| For property conflicts, the local base value of the property, i.e. More...
const svn_string_t * | prop_value_working
| For property conflicts, the local working value of the property, i.e. More...
const svn_string_t * | prop_value_incoming_old
| For property conflicts, the incoming old value of the property, i.e. More...
const svn_string_t * | prop_value_incoming_new
| For property conflicts, the incoming new value of the property, i.e. More...

## 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_conflict_description_create_text2() or svn_wc_conflict_description_create_prop2() or svn_wc_conflict_description_create_tree2() instead.

Since
  New in 1.7.

Definition at line 1803 of file svn_wc.h.

## Field Documentation

## action

svn_wc_conflict_action_t svn_wc_conflict_description2_t::action

The incoming action being attempted on the conflicted node or property.

When `kind` is 'text', this action must be 'edit', but generally it can be any kind of possible change.

Definition at line 1833 of file svn_wc.h.

## base_abspath

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 @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 (`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 1867 of file svn_wc.h.

## is_binary

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 1823 of file svn_wc.h.

## merged_file

const char* svn_wc_conflict_description2_t::merged_file

merged version; may contain conflict markers

### For property conflicts, this contains 'their_abspath'.

Definition at line 1879 of file svn_wc.h.

## mime_type

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 1828 of file svn_wc.h.

## node_kind

svn_node_kind_t svn_wc_conflict_description2_t::node_kind

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.

Definition at line 1812 of file svn_wc.h.

## operation

svn_wc_operation_t svn_wc_conflict_description2_t::operation

The operation that exposed the conflict.

Used only for tree conflicts.

Definition at line 1884 of file svn_wc.h.

## prop_reject_abspath

const char* svn_wc_conflict_description2_t::prop_reject_abspath

For property conflicts, the absolute path to the .prej file.

Since
  New in 1.9.

Definition at line 1894 of file svn_wc.h.

## prop_value_base

const svn_string_t* svn_wc_conflict_description2_t::prop_value_base

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 `NULL`.

Since
  New in 1.9.

Definition at line 1903 of file svn_wc.h.

## prop_value_incoming_new

const svn_string_t* svn_wc_conflict_description2_t::prop_value_incoming_new

For property conflicts, the incoming new value of the property, i.e.

the value the property had at `src_right_version`. Only set if available, so might be `NULL`.

Since
  New in 1.9

Definition at line 1922 of file svn_wc.h.

## prop_value_incoming_old

const svn_string_t* svn_wc_conflict_description2_t::prop_value_incoming_old

For property conflicts, the incoming old value of the property, i.e.

the value the property had at `src_left_version`. Only set if available, so might be `NULL`.

Since
  New in 1.9

Definition at line 1916 of file svn_wc.h.

## prop_value_working

const svn_string_t* svn_wc_conflict_description2_t::prop_value_working

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 `NULL`.

Since
  New in 1.9.

Definition at line 1910 of file svn_wc.h.

## property_name

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 1819 of file svn_wc.h.

## reason

svn_wc_conflict_reason_t svn_wc_conflict_description2_t::reason

The local change or state of the target node or property, relative to its merge-left source, that conflicts with the incoming action.

When `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.

Definition at line 1843 of file svn_wc.h.

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

- svn_wc.h