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

Re: tree-conflicts: please review to determine desired behaviour in detail

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Mon, 01 Sep 2008 19:35:27 +0100

On Mon, 2008-09-01 at 17:36 +0200, Stephen Butler wrote:
> Quoting Julian Foad <julianfoad_at_btopenworld.com>:
>
> > On Mon, 2008-09-01 at 10:08 +0200, Stephen Butler wrote:
> >> Quoting Neels Hofmeyr <neels_at_elego.de>:
>
> [...]
>
> >> Following notes/tree-conflicts/detection.txt, we want 'svn update' to skip
> >> any directory scheduled for deletion, and to instead record the tree
> >> conflict in the parent directory.
> >
> > Also, similarly, I claim we want 'svn update' to skip any FILE scheduled
> > for deletion, and to instead record the tree conflict in the parent
> > directory. Yes?
>
> I agree. We should be consistent in handling files and directories. After
> all, a file is just a very simple tree!
>
> The current behavior for files on the tree-conflicts branch (where we carry
> out each update action immediately) is based on the principle that the user
> can't reject an update. The principle is still valid, but it's better to
> postpone the update action.
>
> [...]
>
> > Yes, except 'alpha' is a tree conflict victim (it was previously
> > scheduled for delete), so it can't be updated and should be skipped:
> >
> > [[[
> > expected_output = wc.State('', {
> > 'F' : Item(status='C '), # victim=F/alpha
> > 'D' : Item(status='C '), # victim=D/D1
> > 'DF' : Item(status='C '), # victim=DF/D1
> > 'DD' : Item(status='C '), # victim=DD/D1
> > 'DDF' : Item(status='C '), # victim=DDF/D1
> > 'DDD' : Item(status='C '), # victim=DDD/D1
> > })
> > ]]]
> >
> > It's all consistent. That must be better.
> >
> > (The rule must be that if an item is the victim of a tree conflict, we
> > leave it untouched. I think any other rule would be too difficult.)
> >
> >> Maybe we need a 'Skipped due to tree conflict' message for each such tree?
> >
> > A better way would be to give a notification for the victim, not for the
> > parent, as I and Nico discussed in the thread "Tree conflicts - who's in
> > conflict?" <http://svn.haxx.se/dev/archive-2008-05/1267.shtml>.
>
> I agree on this point, too.

Excellent. I'm glad to have that confirmed.

> In the meantime, I've been working through more tests in Neels' list.
> Skipping updates of tree-conflicted files makes all of the update tests
> simpler: the expected output is the same for all.

That's good.

Is the attached patch for "update_tests.py" what you expect? (This patch
doesn't make the change to expect the victim to be reported, but just
the other changes we talked about in this thread so far.)

- 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-09-01 20:35:51 CEST

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