[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: API changes for tree conflicts

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Tue, 28 Oct 2008 14:14:30 +0000

On Fri, 2008-10-24 at 16:00 +0100, Julian Foad wrote:
> This is a summary of all the public API changes in v1.6 relative to v1.5
> that are related to tree conflicts.
>
> There are a couple of queries (which I'll try to answer) in among them.

Answers below.
 

> WC API
> ======
>
> struct svn_wc_conflict_description_t
> ------------------------------------
> * This structure can now describe a tree conflict. When doing so, some
> existing fields are not used and a new field "operation" is used.
>
> enum svn_wc_operation_t
> * New type, presently used only used for tree conflicts, to describe
> the user command that raised a conflict.
>
> enum svn_wc_conflict_kind_t
> * Has a new value "..._tree" to indicate a tree conflict.
>
> svn_wc_conflict_description_create_tree()
> * New function.
>
> struct svn_wc_diff_callbacks3_t
> -------------------------------
> * New version of the diff callbacks, having new methods 'dir_opened'
> and 'dir_closed'.
>
> * Functions svn_wc_get_diff_editor5(), svn_wc_diff5() are new, like
> their predecessors except that they use the new callbacks.
>
> struct svn_wc_entry_t
> ---------------------
> * New field 'tree_conflict_data' holds tree conflict data of immediate
> children.
>
> svn_wc_conflicted_p2()
> ----------------------
> * New version of this API reports on tree conflicts as well as other
> types, and has a different interface, taking the item's path and
> adm_access (instead of the parent's path and the item's WC entry).
>
> svn_wc_status2_t
> ----------------
> * New field 'tree_conflicted' in the status struct.
>
> * New revs svn_wc_status2(), svn_wc_get_status_editor4() and callback
> type svn_wc_status_func3_t use it.
> (### svn_wc_status_func2_t also uses it - is that a bug?)

What I wrote was wrong:

svn_wc_status2() is not new, just its behaviour will now include filling
in the new "tree_conflicted" field.

svn_wc_get_status_editor4() and callback type svn_wc_status_func3_t are
new, but not because of this change.

> svn_wc_resolved_conflict4()
> ---------------------------
> * New rev, can also resolve tree conflicts.
>
> svn_wc_get_tree_conflict()
> --------------------------
> * New function to get the current tree conflict description of a path.
>
> svn_wc_read_tree_conflicts_from_entry()
> ---------------------------------------
> * New function.
> (### Not needed?)

I've removed this from public visibility.

> svn_wc_add_tree_conflict_data()
> -------------------------------
> * New function to record a tree conflict.
>
>
> CLIENT API
> ==========
>
> svn_client_info2()
> ------------------
> * This function now reports tree conflict info in the 'tree_conflict'
> field of the reported svn_info_t.
>
> * This function can now report info on a path where there is no node,
> if that path is the victim of a tree conflict, which can happen if an
> incoming change tries to delete a node that is not there. In such a
> case, only a few fields have useful values in the reported svn_info_t.
>
> * struct svn_info_t has a new field 'tree_conflict' describing the
> tree conflict of which this path is the victim. This can be the case
> even if there is no node at this path.

- Julian

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-10-28 15:41:59 CET

This is an archived mail posted to the Subversion Dev mailing list.