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

Re: Issue #3322, branch tc_url_rev

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Thu, 20 Nov 2008 14:22:02 +0000

On Thu, 2008-11-20 at 06:14 +0100, Neels J. Hofmeyr wrote:
>
> Julian Foad wrote:
> > I have made a start on this. See attached. If you'd like to work on it
> > tonight that would be great.
>
> I've been doing other stuff until now, so I'm not going to get far. I've
> created a branch for it: tc_url_rev.

Great.

> Some comments:
>
> [[[
> - /** The node type of the path being operated on */
> + /** The node type of the path being operated on (for a tree conflict,
> + * ### which version?) */
> svn_node_kind_t node_kind;
> ]]]
>
> I was thinking recently that we should actually have all sides.
>
> + /** The node type of the path being operated on, on the source's
> + * merge-left side of the operation. @see .... */
> + svn_node_kind_t node_kind_source_left;
> +
> + /** The node type of the path being operated on, on the source's
> + * merge-right side of the operation. @see .... */
> + svn_node_kind_t node_kind_source_right;
> +
> + /** The node type of the path being operated on, on the target side
> + * of the operation, usually the working copy. @see node_kind_... */
> + svn_node_kind_t node_kind_target;

Yes... That's why I included a "node_kind" field in the "older_version"
and "their_version" data. (I am not yet trying to include data for the
"target"/"mine" version, because it's often not a repository version,
but I would aim to do so eventually.)

> There is be a conflict when the merge-left is not the same kind as the
> target, currently.
>
> There also is a conflict when the merge-right side is obstructed, e.g. by a
> different node kind. ... can that happen ? ... yes, it can, right?

Something like that, yes.

> [[[
> /** If not NULL, an open working copy access baton to either the
> * path itself (if @c path is a directory), or to the parent
> - * directory (if @c path is a file.) */
> + * directory (if @c path is a file.) For a tree conflict,
> + * ### to what? */
> svn_wc_adm_access_t *access;
> ]]]
>
> Currently, definitely always to the parent dir, even for dirs. If we're
> going to have TCs on the victims, then this would be as the comment says.

Thanks.

> [[[
> + * NODE_KIND must the the node kind of "old" and "theirs" and "mine";
> ]]]
> fixed typo.
>
> [[[
> + * this function cannot cope with node kind clashes.
> ]]]
> Could, if we reported all node kinds. But as below, this might become quite
> complex...
>
> [[[
> Index: subversion/libsvn_wc/update_editor.c
> ===================================================================
> --- subversion/libsvn_wc/update_editor.c (revision 34272)
> +++ subversion/libsvn_wc/update_editor.c (working copy)
> @@ -1391,18 +1391,21 @@ check_tree_conflict(svn_wc_conflict_desc
> svn_wc_conflict_action_t action,
> apr_pool_t *pool)
> {
> + svn_node_kind_t their_node_kind = svn_node_unknown;
> svn_wc_conflict_reason_t reason = (svn_wc_conflict_reason_t)(-1);
>
> switch (action)
> {
> case svn_wc_conflict_action_edit:
> /* Use case 1: Modifying a locally-deleted item. */
> + /* ### their_node_kind = ?; */
> ]]]
>
> Hmm! That's a good question.
>
>
> I'm sorry, my time's up for today. So let's all use the branch and schaukel
> this baby.

I'll continue.

- 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-11-20 15:22:24 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.