Subversion
Data Fields
svn_diff_output_fns_t Struct Reference

A vtable for displaying (or consuming) differences between datasources. More...

#include <svn_diff.h>

Data Fields

svn_error_t *(* output_common )(void *output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length)
 If doing a two-way diff, then an *identical* data range was found between the "original" and "modified" datasources.
svn_error_t *(* output_diff_modified )(void *output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length)
 If doing a two-way diff, then an *conflicting* data range was found between the "original" and "modified" datasources.
svn_error_t *(* output_diff_latest )(void *output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length)
 An identical data range was discovered between the "original" and "modified" datasources, but this conflicts with a range in the "latest" datasource.
svn_error_t *(* output_diff_common )(void *output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length)
 An identical data range was discovered between the "modified" and "latest" datasources, but this conflicts with a range in the "original" datasource.
svn_error_t *(* output_conflict )(void *output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length, svn_diff_t *resolved_diff)
 All three datasources have conflicting data ranges.

Detailed Description

A vtable for displaying (or consuming) differences between datasources.

Differences, similarities, and conflicts are described by lining up "ranges" of data.

Note:
These callbacks describe data ranges in units of "tokens". A "token" is whatever you've defined it to be in your datasource svn_diff_fns_t vtable.

Definition at line 286 of file svn_diff.h.


Field Documentation

svn_error_t*(* svn_diff_output_fns_t::output_common)(void *output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length)

If doing a two-way diff, then an *identical* data range was found between the "original" and "modified" datasources.

Specifically, the match starts at original_start and goes for original_length tokens in the original data, and at modified_start for modified_length tokens in the modified data.

If doing a three-way diff, then all three datasources have matching data ranges. The range latest_start, latest_length in the "latest" datasource is identical to the range original_start, original_length in the original data, and is also identical to the range modified_start, modified_length in the modified data.

Definition at line 303 of file svn_diff.h.

svn_error_t*(* svn_diff_output_fns_t::output_conflict)(void *output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length, svn_diff_t *resolved_diff)

All three datasources have conflicting data ranges.

The range latest_start, latest_length in the "latest" datasource conflicts with the range original_start, original_length in the "original" datasource, and also conflicts with the range modified_start, modified_length in the "modified" datasource. If there are common ranges in the "modified" and "latest" datasources in this conflicting range, resolved_diff will contain a diff which can be used to retrieve the common and conflicting ranges.

Definition at line 365 of file svn_diff.h.

svn_error_t*(* svn_diff_output_fns_t::output_diff_modified)(void *output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length)

If doing a two-way diff, then an *conflicting* data range was found between the "original" and "modified" datasources.

Specifically, the conflict starts at original_start and goes for original_length tokens in the original data, and at modified_start for modified_length tokens in the modified data.

If doing a three-way diff, then an identical data range was discovered between the "original" and "latest" datasources, but this conflicts with a range in the "modified" datasource.

Definition at line 322 of file svn_diff.h.


The documentation for this struct was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines