Julian Foad wrote:
> Tree conflict fans,
>
> FYI, here is the patch I've been working on since yesterday to get
> "revert" and "resolve" acting per victim.
>
> The current state of progress is that "revert" works fully, and
> "resolve" works for versioned victims but not for unversioned victims,
Cool!
> leaving no way of marking an unversioned victim as resolved.
>
> TO DO: I want to make the recursion into unversioned victims be part of
> svn_wc_walk_entries3(). In the present patch I just implemented it in
> revert_internal() which does the recursion long-hand. The "resolve"
> implementation, on the other hand, does use svn_wc_walk_entries3().
So you're planning to also use svn_wc_walk_entries3() for revert? Sounds
good, from as little as what I know. I'm not looking at your patch too
closely now, but it looks sane on a quick scan.
As for me, I'm going to look at tree_conflict notification in repos_diff.c,
making sure that detected tree-conflicts aren't overwritten by subsequent
callback calls (Thanks for finding it, Julian!).
I'm also planning to change the diff callbacks so that property changes on
directories are reported the same as for files, i.e. that only one callback
call will be issued for Add-Dir-With-Props, instead of currently two. This
looks like a good change because files have been changed to be handled that
way, plus it is a key API change that enables diff --summarize using the
diff callbacks, while being (hopefully) simple and generally independent.
AFAICT, it's the only API change that stands in the way of implementing
dirs_same_p(). So I guess it's worth giving it a little attention now.
So, my complete to-do list:
- Repos_diff.c and *tree_conflicted. (above)
- Change diff callbacks to also pass props on dir-add. (above)
- Enhance deep_trees tests to include prop changes.
- Set up a test that ensures lack of false tree-conflicts (particularly
in dir delete upon merge, maybe others).
- Identify and resolve single tc-failures at a time, in update and merge.
~Neels
Received on 2008-11-05 03:44:34 CET