On Mon, Feb 04, 2013 at 05:23:52PM +0000, Philip Martin wrote:
> The test reaches a state with a delete-edit tree-conflict on X/B/C as a
> result of the update following some of the moves.  This conflict has to
> be resolved to state 'working' which will remove the tree-conflict on
> X/B/C and raise a move-edit tree-conflict on X/B/C/D/E.  Resolving that
> new move-edit tree-conflict to state 'mine-conflict' will update E2 and
> allow the test to pass.  However when the resolver is invoked on X/B/C
> it automatically proceeds to resolve the new tree-conflict on X/B/C/D/E
> and that causes the test to fail.
> 
> Having the resolver raise new tree-conflicts is new behaviour.  Having
> the resolver code use the status walker is also new behaviour.  To make
> this work I need the resolver to avoid resolving the newly raised
> tree-conflict but I'm not sure how best to do this.  Sometimes resolving
> newly raised tree-conflicts is helpful to the user.

As far as I can see the only problem here is that you'd like to resolve
the conflict on 'X/B/C' to 'choose merged', but because the test ends
up passing depth infinity to svn_wc__resolve_conflicts() it also
resolves 'X/B/C/D/E' to 'choose_merged', while you want to resolve
that node to 'mine_conflict' instead.

I haven't tried, but you could probably change the test to pass a
depth != infinity to svn_wc__resolve_conflicts() when resolving
on 'X/B/C'. Would that help?

Reply via email to