[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: Stephen Butler <sbutler_at_elego.de>
Date: Mon, 01 Sep 2008 17:36:19 +0200

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.

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.

Regards,
Steve

-- 
Stephen Butler | Software Developer
elego Software Solutions GmbH
Gustav-Meyer-Allee 25 | 13355 Berlin | Germany
fon: +49 30 2345 8696 | mobile: +49 163 25 45 015
fax: +49 30 2345 8695 | http://www.elegosoft.com
Geschäftsführer: Olaf Wagner | Sitz der Gesellschaft: Berlin
Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194
---------------------------------------------------------------------
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 17:36:30 CEST

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