DragonNest/Common/SVNLib/doc/structsvn__diff__output__fns__t.html
2024-12-19 09:48:26 +08:00

130 lines
12 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Subversion: svn_diff_output_fns_t Struct Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
</tr>
</table>
</form>
</li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>svn_diff_output_fns_t Struct Reference</h1><!-- doxytag: class="svn_diff_output_fns_t" -->A vtable for displaying (or consuming) differences between datasources.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="svn__diff_8h-source.html">svn_diff.h</a>&gt;</code>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsvn__error__t.html">svn_error_t</a> *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsvn__diff__output__fns__t.html#c4cfcd24aee6bd6461383c1298ee1258">output_common</a> )(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)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If doing a two-way diff, then an *identical* data range was found between the "original" and "modified" datasources. <a href="#c4cfcd24aee6bd6461383c1298ee1258"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsvn__error__t.html">svn_error_t</a> *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsvn__diff__output__fns__t.html#474e0951df5f278f5890e4361f1a3808">output_diff_modified</a> )(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)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If doing a two-way diff, then an *conflicting* data range was found between the "original" and "modified" datasources. <a href="#474e0951df5f278f5890e4361f1a3808"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6168fdd0395fe5cb3590e03cf0c99ece"></a><!-- doxytag: member="svn_diff_output_fns_t::output_diff_latest" ref="6168fdd0395fe5cb3590e03cf0c99ece" args=")(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)" -->
<a class="el" href="structsvn__error__t.html">svn_error_t</a> *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsvn__diff__output__fns__t.html#6168fdd0395fe5cb3590e03cf0c99ece">output_diff_latest</a> )(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)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An identical data range was discovered between the "original" and "modified" datasources, but this conflicts with a range in the "latest" datasource. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05de6b8d82d9a963fafa3e6d2234a57a"></a><!-- doxytag: member="svn_diff_output_fns_t::output_diff_common" ref="05de6b8d82d9a963fafa3e6d2234a57a" args=")(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)" -->
<a class="el" href="structsvn__error__t.html">svn_error_t</a> *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsvn__diff__output__fns__t.html#05de6b8d82d9a963fafa3e6d2234a57a">output_diff_common</a> )(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)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An identical data range was discovered between the "modified" and "latest" datasources, but this conflicts with a range in the "original" datasource. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsvn__error__t.html">svn_error_t</a> *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsvn__diff__output__fns__t.html#954abc641ec4f8f126fb9709399cc17d">output_conflict</a> )(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, <a class="el" href="svn__diff_8h.html#b43107714d2128d68a2dac688b8dc4d3">svn_diff_t</a> *resolved_diff)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">All three datasources have conflicting data ranges. <a href="#954abc641ec4f8f126fb9709399cc17d"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A vtable for displaying (or consuming) differences between datasources.
<p>
Differences, similarities, and conflicts are described by lining up "ranges" of data.<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>These callbacks describe data ranges in units of "tokens". A "token" is whatever you've defined it to be in your datasource <code><a class="el" href="structsvn__diff__fns__t.html" title="A vtable for reading data from the three datasources.">svn_diff_fns_t</a></code> vtable. </dd></dl>
<p>Definition at line <a class="el" href="svn__diff_8h-source.html#l00203">203</a> of file <a class="el" href="svn__diff_8h-source.html">svn_diff.h</a>.</p>
<hr><h2>Field Documentation</h2>
<a class="anchor" name="c4cfcd24aee6bd6461383c1298ee1258"></a><!-- doxytag: member="svn_diff_output_fns_t::output_common" ref="c4cfcd24aee6bd6461383c1298ee1258" args=")(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)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structsvn__error__t.html">svn_error_t</a>*(* <a class="el" href="structsvn__diff__output__fns__t.html#c4cfcd24aee6bd6461383c1298ee1258">svn_diff_output_fns_t::output_common</a>)(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) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
If doing a two-way diff, then an *identical* data range was found between the "original" and "modified" datasources.
<p>
Specifically, the match starts at <em>original_start</em> and goes for <em>original_length</em> tokens in the original data, and at <em>modified_start</em> for <em>modified_length</em> tokens in the modified data.<p>
If doing a three-way diff, then all three datasources have matching data ranges. The range <em>latest_start</em>, <em>latest_length</em> in the "latest" datasource is identical to the range <em>original_start</em>, <em>original_length</em> in the original data, and is also identical to the range <em>modified_start</em>, <em>modified_length</em> in the modified data.
</div>
</div><p>
<a class="anchor" name="474e0951df5f278f5890e4361f1a3808"></a><!-- doxytag: member="svn_diff_output_fns_t::output_diff_modified" ref="474e0951df5f278f5890e4361f1a3808" args=")(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)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structsvn__error__t.html">svn_error_t</a>*(* <a class="el" href="structsvn__diff__output__fns__t.html#474e0951df5f278f5890e4361f1a3808">svn_diff_output_fns_t::output_diff_modified</a>)(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) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
If doing a two-way diff, then an *conflicting* data range was found between the "original" and "modified" datasources.
<p>
Specifically, the conflict starts at <em>original_start</em> and goes for <em>original_length</em> tokens in the original data, and at <em>modified_start</em> for <em>modified_length</em> tokens in the modified data.<p>
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.
</div>
</div><p>
<a class="anchor" name="954abc641ec4f8f126fb9709399cc17d"></a><!-- doxytag: member="svn_diff_output_fns_t::output_conflict" ref="954abc641ec4f8f126fb9709399cc17d" args=")(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)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structsvn__error__t.html">svn_error_t</a>*(* <a class="el" href="structsvn__diff__output__fns__t.html#954abc641ec4f8f126fb9709399cc17d">svn_diff_output_fns_t::output_conflict</a>)(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, <a class="el" href="svn__diff_8h.html#b43107714d2128d68a2dac688b8dc4d3">svn_diff_t</a> *resolved_diff) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
All three datasources have conflicting data ranges.
<p>
The range <em>latest_start</em>, <em>latest_length</em> in the "latest" datasource conflicts with the range <em>original_start</em>, <em>original_length</em> in the "original" datasource, and also conflicts with the range <em>modified_start</em>, <em>modified_length</em> in the "modified" datasource. If there are common ranges in the "modified" and "latest" datasources in this conflicting range, <em>resolved_diff</em> will contain a diff which can be used to retrieve the common and conflicting ranges.
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="svn__diff_8h-source.html">svn_diff.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 24 16:18:30 2008 for Subversion by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>